面试八股——Spring框架——Bean

Bean是单例的,且不是线程安全的。例子如下:下述的类变量是可修改的,当多用户访问时会造成成员变量的不一致。

Bean的生命周期

Bean对象的创建(构造+初始化赋值)

创建

初始化赋值

Bean的循环引用(又叫循环依赖)

循环依赖过程:
解决办法------三级缓存

第一级缓存存储已经完全创建好的单例Bean,第二级缓存存储还没有完全创建好的Bean对象,如只进行了构造但没有进行赋值。三级缓存创建的是ObjectFactory,即对象工厂,用于创建某个对象的。

相关推荐
二哈喇子!几秒前
Eclipse中导入外部jar包
java·eclipse·jar
微露清风4 分钟前
系统性学习C++-第二十二讲-C++11
java·c++·学习
进阶小白猿42 分钟前
Java技术八股学习Day20
java·开发语言·学习
gis开发43 分钟前
【无标题】
java·前端·javascript
Wpa.wk1 小时前
性能测试 - 搭建线上的性能测试环境参考逻辑图
java·经验分享·测试工具·jmeter·性能测试
代码村新手1 小时前
C++-类和对象(中)
java·开发语言·c++
葵花楹1 小时前
【JAVA课设】【游戏社交系统】
java·开发语言·游戏
kylezhao20191 小时前
C# 文件的输入与输出(I/O)详解
java·算法·c#
千层冷面1 小时前
数据库分库分表
java·数据库·mysql·oracle
努力的小陈^O^2 小时前
问题:Spring循环依赖问题排查与解决
java·开发语言·前端