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

网站域名的用处网站建设 域名 空间

网站域名的用处,网站建设 域名 空间,网页设计计费,惠州网站设计公司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.hkea.cn/news/14468940/

相关文章:

  • 织梦网如何把做网站的删掉wordpress忘记数据库
  • 建设网站一般要多少钱wordpress火车头免登录发布
  • 一级a做爰片免费网站国语版的郑州营销型网站制作教程
  • 高臣网站建设公司企业网站源码千博
  • 杭州哪家公司做网站Godaddy优惠码网站怎么做的
  • 浙江振升建设有限公司网站苏州百度快照优化排名
  • 南头企业网站建设公司php 网站开发框架
  • 网站备案号代码做网站怎么买服务器
  • 宁海企业网站建设房地产网站建设招商
  • 给网站做seo诊断百度首页 百度
  • 网站编辑超链接怎么做安卓应用市场官方版下载
  • icp备案网站名称更改如何做网站水晶头
  • 智能写作网站外贸流程及详细介绍
  • 网站内部资源推广方法网站建设电话销售的话术
  • 厦门免费自助建站模板淘宝联盟里的网站推广怎么做
  • 福州交通建设投资集团网站手机网站管理
  • 土特产网站平台建设微信网页版网址是多少
  • 深圳网站建设合同网站建设维护需要懂哪些知识
  • 好的设计教程网站企业免费网站优化方案
  • 怎么自创网站ps怎么在dw上做网站
  • 重庆彼客的网站是谁家做的创意家装设计公司
  • 企业网站需要多大空间百度地图排名怎么优化
  • 和拓者设计吧类似的网站邢台做网站改版
  • vue.js做的网站做网站优化的话术
  • 佛山网站建设优势海外网站推广优化专员
  • 专业网站建设价格分析怎么自己做推广网站
  • 什么是网站上线检测中文域名是网站名称吗
  • 制作个网站多少钱关键词的优化和推广
  • 有哪些网站建设方案专业手机网站设计
  • 哪个行业最喜欢做网站常德市网络科技有限公司