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

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

Bean的生命周期

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

创建

初始化赋值

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

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

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

相关推荐
聚美智数7 小时前
智能结构化识别-图片结构解析-图像结构化解析-照片结构化解析
android·java·数据库
十年Java程序媛7 小时前
Java枚举Enum完整教程|替代静态常量,开发与面试要点
java·开发语言·spring boot·后端·面试
我是人✓7 小时前
SpringBoot静态资源映射揭秘
java·spring boot·后端
土豆.exe8 小时前
nf_tables 的 verdict 被读了两次:一个十年未闭合的位域错配
java·数据库·网络安全·缓存
考研保研资料分享8 小时前
2022年马理论保研复盘:南师大原著题、首师大追问与上财选择
面试
小坏讲微服务9 小时前
刚发布一个月的JDK 27,为什么我建议你立刻升级?
java·开发语言·spring boot·spring·架构·求职招聘·springboot4
kunicoding9 小时前
多线程编程核心概念详解:从线程基础到并发安全
java·jvm·安全
考研保研资料分享9 小时前
2022编辑出版跨保西北大学中国史:五校面试与九月补材料
面试·职场和发展
snow@li9 小时前
SpringBoot:核心注解全景梳理 / @xxx 叫“注解”(Annotation)
java·spring
devilnumber9 小时前
避坑_IDEA 提取方法(Extract Method)工具
java·ide·intellij-idea