Spring三级缓存
2024-04-10 11:51:07 0 举报
Spring三级缓存是一种为改善应用程序性能而设计的机制,它通过在内存中保留已经解析过的Bean定义,提高了Bean的获取速度。这三级缓存分别是:一级缓存(singletonObjects),二级缓存(earlySingletonObjects)和三级缓存(singletonFactories)。一级缓存存储了已经完全初始化的Bean,二级缓存存储了已完成实例化但尚未完成初始化的Bean,而三级缓存存储了Bean的工厂对象。当应用程序需要获取Bean时,Spring首先检查一级缓存,如果缓存中没有,则依次检查二级和三级缓存。只有在三级缓存中也找不到所需Bean时,Spring才会重新创建一个Bean实例并加入一级缓存。这种设计极大提高了Bean获取的效率,特别是对于单例Bean。
作者其他创作
大纲/内容
15、完成初始化BeanA
5、依赖注入BeanB
3、未初始化BeanA添加到三级缓存,属性beanB=null
2、实例化BeanA
11、BeanA放入二级缓存
13、BeanB放入一级缓存
8、初始化BeanB
10、返回BeanA
1、创建BeanA
二级缓存
三级缓存
BeanB
p.s.为了简单好理解,图中简化了一些步骤:实例化前会先去一级缓存找对象,如果不存在再实例化对象
4、初始化BeanA
BeanA
6、实例化BeanB
14、返回BeanA
一级缓存
12、BeanB完成初始化
16、BeanA放入一级缓存
0 条评论
下一页