如果哪个人问我这个问题,我真的会怼他的,拒绝回答...会有这种问题的伙伴只限于2年的开发经验,超过两年了,你就要注意了。
xdm,为啥我不回答,因为他不知所云哈,bean是否线程安全跟Spring有必然联系么,必然没有
今天还真的有个伙伴问我了,所以温故而知新,来解答一下这个问题,从几个方面来回答,来思考
- Spring是啥
- bean是啥
- 咋样才会有线程安全的问题
- Spring是啥
Spring是一个容器,用来管理各种bean的,线程的安全问题肯定取决于bean本身
- bean是啥
被Spring容器管理的对象称为bean,bean是个对象,但对象不一定是个bean
- 咋样才会有线程的安全问题
对象出现安全问题,是因为多个线程同时访问对象的共享资源出现的并发问题
- 回答问题
了解了以上问题,就会回答这个问题了,不一定,如果bean是原型的,每次getBean()都会出现一
个新的对象,自然而然不存在线程安全,如果单例的bean不存在共享资源也是线程安全的,如果单例
bean的共享资源不是线程安全的,就会出现线程安全问题
- 写在最后
我画了一个脑图,大家可以参考一下标准答案