为什么要三级缓存?二级不行吗?

2021-09-07  本文已影响0人  菜鸟养成记

为什么要三级缓存?二级不行吗?
不可以,主要是为了生成代理对象。

因为三级缓存中放的是生成具体对象的匿名内部类,他可以生成代理对象,也可以是普通的实例对象。

使用三级缓存主要是为了保证不管什么时候使用的都是一个对象。

假设只有二级缓存的情况,往二级缓存中放的显示一个普通的Bean对象,BeanPostProcessor去生成代理对象之后,覆盖掉二级缓存中的普通Bean对象,那么多线程环境下可能取到的对象就不一致了。


image.png
上一篇 下一篇

猜你喜欢

热点阅读