框架篇面试题-参考回答
知识网络架构
![知识框架](https://raw.githubusercontent.com/devtommy2/PicBed/main/1702482846015.png)
Spring
面试官:Spring框架中的单例bean是线程安全的吗?
Spring框架中的Bean是单例的吗?
Spring框架中的Bean是单例的,在注册Bean时,可以通过使用Scope注解声明当前的Bean是singleton或者prototype。如果不显示声明,默认为单例。
如何判断Spring开发中的线程安全问题?
Controller方法中接收的参数是局部变量,一般没有线程安全问题;但是如果在Controller类中定义了全局变量,并且这个全局变量是可修改的,则这个变量就有线程安全问题。如果这个全局变量没有状态(不可被修改,例如注入的Service对象、dao对象),则这个全局变量就是线程安全的。
所以在日常开发过程中应该注意,在Bean中尽量避免定义可被修改的全局成员变量,因为并不能保证他的线程安全。
大约 15 分钟