当前位置: 首页 > news >正文

做视频网站需要多大空间开展网络营销的企业

做视频网站需要多大空间,开展网络营销的企业,全球十大建筑设计事务所,路由器优化大师文章目录什么是循环依赖?什么是三级缓存?执行流程什么是循环依赖? 在我们的开发中,会不可避免的遇到Bean之间循环依赖的,所谓循环依赖,就是两个或者两个以上的Bean互相持有对方,这样在程序运行…

文章目录

    • 什么是循环依赖?
    • 什么是三级缓存?
    • 执行流程

什么是循环依赖?

在我们的开发中,会不可避免的遇到Bean之间循环依赖的,所谓循环依赖,就是两个或者两个以上的Bean互相持有对方,这样在程序运行调用中,会出现这种循环依赖的现象,其实就是循环引用,也就是两个或则两个以上的bean互相持有对方,最终形成闭环。比如A依赖于B,B依赖于C,C又依赖于A。

举个简单的例子,两个Bean的循环依赖:

@Service
public class Demo1 {@Autowiredprivate Demo2 demo2;public void test1() {}
}@Service
public class Demo2{@Autowiredprivate Demo1 demo1;public void test2() {}
}

这个就是循环依赖。
在这里插入图片描述
依赖分为三种:

  • 自己依赖自己
  • 两个对象相互依赖
  • 多个对象相互依赖

什么是三级缓存?

singletonObjec:用于存放完全初始化好的 bean,从该缓存中取出的 bean 可以直接使用
earlySingletonObjects:提前曝光的单例对象的cache,存放原始的 bean 对象(尚未填充属性),用于解决循环依赖
singletonFactories:单例对象工厂的cache,存放 bean 工厂对象,用于解决循环依赖

看下面代码前建议先了解Bean的创建流程:https://blog.csdn.net/wang121213145/article/details/124748726

详细代码
在spring中的DefaultSingletonBeanRegistrygetSingleton()方法
在这里插入图片描述

执行流程

在这里插入图片描述

  • 第一层,先去获取 A 的 Bean,发现没有就准备去创建一个,然后将 A 的代理工厂放入“三级缓存”(这个 A 其实是一个半成品,还没有对里面的属性进行注入),但是 A 依赖 B 的创建,就必须先去创建 B;
  • 第二层,准备创建 B,发现 B 又依赖 A,需要先去创建 A;
  • 第三层,去创建 A,因为第一层已经创建了 A 的代理工厂,直接从“三级缓存”中拿到 A 的代理工厂,获取 A 的代理对象,放入“二级缓存”,并清除“三级缓存”;
  • 回到第二层,现在有了 A 的代理对象,对 A 的依赖完美解决(这里的 A 仍然是个半成品),B 初始化成功,并将B放入一级缓存
  • 回到第一层,现在 B 初始化成功,完成 A 对象的属性注入,然后再填充 A 的其它属性,以及 A 的其它步骤(包括 AOP),完成对 A 完整的初始化功能(这里的 A 才是完整的 Bean),将 A 放入“一级缓存”。

如果没有采用三级缓存的话,会出现循环依赖,所以加入的第三级缓存,便于从对象工厂拿到创建的对象。

http://www.yayakq.cn/news/324969/

相关文章:

  • 公司年前做网站好处找产品厂家用哪个app
  • iis网站改端口微信公众号免费模板网站
  • 广州比较好的网站建设企业长沙网站建设排名
  • 珠海网站制作推荐深圳有哪些知名企业
  • 虚拟商品交易网站建设用户界面设计的基本原则
  • 网站描述标签优化做软件常用的网站
  • wordpress网站采集插件廊坊网站制作推广
  • 郑州网站营销推广嘉兴手机模板建站
  • 做网站和管理系统网站app的意义
  • 专业企业网站开发公司深圳建网站兴田德润很好
  • 网站建设教程赚找湖南岚鸿认 可wordpress网站下方
  • 韶关网站建设制作济源市建设工程管理处网站
  • 网站教人做核能灯做高端企业网站
  • 电子政务门户网站建设汇报产品开发岗位职责
  • 装修网站开发思路做网站需要的素材照片
  • 品牌网站建设小蝌蚪1a互联网信息服务
  • 360度搜索建站网wordpress参考文档
  • 网站做签到功能律师网站深圳网站设计
  • 账号权重查询入口站长工具wordpress不能实现静态化
  • ngrok做网站服务器阿里巴巴网站策划书
  • 淘宝网站推广怎么做公司起名字大全免费2个字
  • 建设网站需要下载神呢软件吗互联网行业趋势
  • 三明网站设计wordpress网站手机端菜单栏
  • 网站建设 教学大纲小红书sem是什么意思
  • 服装网站技术解决方案合肥建设
  • 门户网站建设运营做土建资料有什么网站没
  • 做个网站需要哪些东西购物网站要多少钱
  • 做网站的最终目的wordpress 微商城模板下载地址
  • 宁波房产信息网官方网站首饰设计网站推荐
  • ps做的网站保存不了jpghtml5简单网页源代码