Java面试题
2022/9/14 1:19:09
本文主要是介绍Java面试题,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
Spring
Spring中的Bean是否线程安全
1.如果Bean是⽆状态的,那么Bean则是线程安全的(没有共享修改操作)
2.如果Bean是有状态的,那么Bean则不是线程安全的
注:Bean只是一个概念,Bean是否线程安全,应看对应的对象(Bean对象)是否线程安全,有没有共享操作,是否修改。
BeanFactory和ApplicationContext区别
Spring 框架带有两个 IOC 容器—— BeanFactory和ApplicationContext。BeanFactory是 IOC 容器的最基本版本,ApplicationContext扩展了BeanFactory的特性。
spring事务的传播
- 按照编写代码时定义的传播机制进行传播 @Transactional(propagation=Propagation.REQUIRED // propagation 枚举值)
- spring事务的7大传播机制(a.b)
- PROPAGATION_REQUIRED(spring默认值):如果a存在一个事务,则b支持当前事务。如果a没有事务则b开启一个新的事务。
- PROPAGATION_SUPPORTS:如果a存在一个事务,b支持当前事务。如果a没有事务,则b非事务的执行。但是对于事务同步的事务管理器,PROPAGATION_SUPPORTS与不使用事务有少许不同。
- PROPAGATION_MANDATORY:如果a存在一个事务,b支持当前事务。如果a没有一个活动的事务,则抛出异常。
- PROPAGATION_REQUIRES_NEW:b总是开启一个新的事务。如果a已经存在事务,则将a的事务挂起。
- PROPAGATION_NOT_SUPPORTED:b总是非事务地执行,并挂起a存在的任何事务。
- PROPAGATION_NEVER:b总是非事务地执行,如果a存在一个活动事务,则抛出异常。
- PROPAGATION_NESTED:如果a有一个活动的事务存在,则b运行在一个嵌套的事务中. 如果没有活动事务, 则按TransactionDefinition.PROPAGATION_REQUIRED 属性执行。
这篇关于Java面试题的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-22[开源]10.3K+ Star!轻量强大的开源运维平台,超赞!
- 2024-11-21Flutter基础教程:新手入门指南
- 2024-11-21Flutter跨平台教程:新手入门详解
- 2024-11-21Flutter跨平台教程:新手入门与实践指南
- 2024-11-21Flutter列表组件教程:初学者指南
- 2024-11-21Flutter列表组件教程:新手入门指南
- 2024-11-21Flutter入门教程:初学者必看指南
- 2024-11-21Flutter入门教程:从零开始的Flutter开发指南
- 2024-11-21Flutter升级教程:新手必读的升级指南
- 2024-11-21Flutter升级教程:轻松掌握Flutter版本更新