sping面试题
1:spring 的bean是线程安全的吗?
首先,spring中的bean都是我们创建的bean
只是我们将创建bean的操作交给了spring来处理
帮我们new了一个我们创建的bean,缓存到了ioc容器中
给每一个bean起了一个名字
相当于我们自己new 了一个bean
所以,bean是不是线程安全的?
跟我们写的代码有没有关系?
不安全只是在创建bean的时候,spring默认单例模式
2:spring中的bean是如何被回收的?
回收都是由gc来操作的
当对象不可达的时候:
(对象的引用不被任何地方持有或保存的时候)
(对象的引用变为null)
这是后分bean在ioc中为单例还是原型模式:
原型模式:
创建完成之后,有可能就会被回收
单例模式:
ioc容器中的bean是key-value形式的
ioc是全局的容器
所以,单例的bean随着spring的初始化而初始化
随着spring的销毁而销毁
个人愚见
Q.E.D.