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

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

Bean的生命周期

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

创建

初始化赋值

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

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

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

相关推荐
Zane199414 分钟前
单例线程安全、生产者消费者、死锁:并发面试三连问串讲
java·后端
云烟成雨TD1 小时前
Micrometer 系列【42】链路追踪:Span 体系 | 核心 API
java·链路追踪·micrometer
Gorway1 小时前
理解 Spring 依赖注入:从构造器注入到集合与条件 Bean
java·后端
众人皆醒我独醉1 小时前
分布式训练与 Ring AllReduce:从单卡绝望到多卡协同
人工智能·面试·llm
LiLiYuan.1 小时前
【字符串常量池】
java·开发语言·面试
Sylvia33.1 小时前
从轮询到推送:足球数据API架构演进与火星数据技术拆解
java·服务器·网络·python·websocket·架构
cfm_29142 小时前
高并发系统缓存全解
java·缓存
Ghost Face...2 小时前
龙芯Docker全流程:安装到离线迁移实战
java·docker·eureka
16月6日-晴2 小时前
Java面向对象进阶—static
java·开发语言
xiaohaiAIgeo2 小时前
【2026年】ASHRAE 110与EN 14175通风柜测试标准对比:进口与国产品牌性能差距
java·前端·数据库·科普知识