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

网站域名的用处北京h5网站建设公司

网站域名的用处,北京h5网站建设公司,网站优化网站,网站建设中下载1、Spring三级缓存是什么#xff0c;过程是怎么样的#xff1f; Spring 中的三级缓存主要用于单例 Bean 的生命周期管理#xff0c;特别是在循环依赖时#xff0c;它通过不同阶段暴露 Bean 实例来确保依赖注入的顺利完成。缓存的内容如下#xff1a; 一级缓存 (singleton…1、Spring三级缓存是什么过程是怎么样的 Spring 中的三级缓存主要用于单例 Bean 的生命周期管理特别是在循环依赖时它通过不同阶段暴露 Bean 实例来确保依赖注入的顺利完成。缓存的内容如下 一级缓存 (singletonObjects)存储完全初始化的单例 Bean。该缓存中存储的是已经完成初始化的 Bean 对象包括所有的属性注入和生命周期回调方法如 PostConstruct都已完成。 二级缓存 (earlySingletonObjects)存储实例化但尚未完成所有初始化步骤的 Bean 引用。也就是 Bean 已经完成了实例化并完成了依赖注入如字段注入但可能还没有执行初始化方法如 PostConstruct。二级缓存用于解决循环依赖问题当需要注入的 Bean 还没有完全初始化时可以先返回该 Bean 的早期引用。 三级缓存 (singletonFactories)存储的是创建 Bean 的工厂ObjectFactory而不是直接存储 Bean 实例。这些工厂延迟返回真正的 Bean 实例直到它们完成初始化。三级缓存用于处理 循环依赖 的核心当一个 Bean 处于创建过程中另一个 Bean 依赖它时可以从三级缓存中获取一个工厂对象该工厂会在 Bean 完全初始化后生成一个完整的 Bean 实例。 2、从缓存中获取单例对象 2.1、代码解读 public Object getSingleton(String beanName, boolean allowEarlyReference) {// 1. 检查一级缓存获取已完成初始化的 BeanObject singletonObject this.singletonObjects.get(beanName);if (singletonObject null this.singletonsCurrentlyInCreation.contains(beanName)) {// 2. 如果一级缓存没有且 Bean 正在创建中则检查二级缓存singletonObject this.earlySingletonObjects.get(beanName);if (singletonObject null allowEarlyReference) {// 3. 如果二级缓存也没有允许提前引用时检查三级缓存ObjectFactory? singletonFactory this.singletonFactories.get(beanName);if (singletonFactory ! null) {// 4. 从三级缓存中获取 Bean 实例singletonObject singletonFactory.getObject();// 5. 将生成的对象放入二级缓存this.earlySingletonObjects.put(beanName, singletonObject);// 6. 从三级缓存中移除工厂this.singletonFactories.remove(beanName);}}}// 7. 返回从缓存中获取的单例对象return singletonObject; }2.2、执行流程 一级缓存 (singletonObjects) 检查一级缓存获取完全初始化的 Bean。 如果一级缓存中存在该对象则直接返回。 二级缓存 (earlySingletonObjects) 如果一级缓存中没有找到该对象且该对象正在创建过程中this.singletonsCurrentlyInCreation则检查二级缓存。 如果二级缓存中存在早期暴露的 Bean则直接返回。 三级缓存 (singletonFactories) 如果二级缓存中也没有并且允许提前引用allowEarlyReference 为 true则从三级缓存中获取工厂对象ObjectFactory。 调用 ObjectFactory.getObject() 方法生成 Bean 实例。 将生成的实例放入二级缓存同时从三级缓存中移除对应的工厂。
http://www.ho-use.cn/article/10821223.html

相关文章:

  • 网站建设成果百度云盘网官网
  • php手机网站怎么做竞赛网站开发
  • 优秀企业网站欣赏工程承包
  • c做项目的网站叫别人做网站要多久
  • 济宁网站建设培训做视频网站赚做视频网站赚
  • 网站源码如何使用公司门户网站项目模版
  • 营销型网站建设搭建方法长春企业公司网站建设
  • 做早餐煲汤网站wordpress漏洞总结
  • 免费信息发布网站大全设计之家破解版
  • 外贸推广免费网站物流网站建设可行性报告
  • 设计做兼职最好的网站263企业邮箱腾讯登录入口
  • php做网站框架怎么推广公司
  • 办公家具网站建设费用oa办公系统网页
  • 三合一网站建设方案上海洛可可设计公司
  • 网站开发沟通中企动力网站推广
  • 怎么直接用代码做网站网页制作与设计实训目的怎么写
  • 网站毕业设计任务书住建局官网查询系统
  • 做基因结构可以用哪个网站wordpress配置报错
  • 模特公司网站源码宿州市住房 建设 官方网站
  • 唐山建网站公司办网站 哪些许可
  • 网站建设公司咋样apache与iis做网站
  • 基金网站建设需求书wordpress客户
  • 城市建设杂志社网站无锡网站建设收费
  • 网站门户建设方案h5页面是什么
  • 公司做网站怎么做wordpress开发人力资源
  • 套用别人产品图片做网站广告设计公司专业报价表
  • 网站开发主要包括的事项网站产品简介
  • 设计一个网站重点是什么怎么修改自己的网站
  • 毕业设计网站论文外包加工网官网下载安装
  • 动态ip上做网站网站制作宜昌怎么做?