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

多语言网站如何开发百度seo搜索

多语言网站如何开发,百度seo搜索,医疗器械龙头股排名,环保类网站模板1、Spring三级缓存是什么,过程是怎么样的? Spring 中的三级缓存主要用于单例 Bean 的生命周期管理,特别是在循环依赖时,它通过不同阶段暴露 Bean 实例来确保依赖注入的顺利完成。缓存的内容如下: 一级缓存 (singleton…

1、Spring三级缓存是什么,过程是怎么样的?

Spring 中的三级缓存主要用于单例 Bean 的生命周期管理,特别是在循环依赖时,它通过不同阶段暴露 Bean 实例来确保依赖注入的顺利完成。缓存的内容如下:

  1. 一级缓存 (singletonObjects)存储完全初始化的单例 Bean。该缓存中存储的是已经完成初始化的 Bean 对象,包括所有的属性注入和生命周期回调方法(如 @PostConstruct)都已完成。

  2. 二级缓存 (earlySingletonObjects)存储实例化但尚未完成所有初始化步骤的 Bean 引用。也就是 Bean 已经完成了实例化,并完成了依赖注入(如字段注入),但可能还没有执行初始化方法(如 @PostConstruct)。二级缓存用于解决循环依赖问题,当需要注入的 Bean 还没有完全初始化时,可以先返回该 Bean 的早期引用。

  3. 三级缓存 (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、执行流程

  1. 一级缓存 (singletonObjects):
    检查一级缓存,获取完全初始化的 Bean。
    如果一级缓存中存在该对象,则直接返回。

  2. 二级缓存 (earlySingletonObjects):
    如果一级缓存中没有找到该对象,且该对象正在创建过程中(this.singletonsCurrentlyInCreation),则检查二级缓存。
    如果二级缓存中存在早期暴露的 Bean,则直接返回。

  3. 三级缓存 (singletonFactories):
    如果二级缓存中也没有,并且允许提前引用(allowEarlyReference 为 true),则从三级缓存中获取工厂对象(ObjectFactory)。
    调用 ObjectFactory.getObject() 方法生成 Bean 实例。
    将生成的实例放入二级缓存,同时从三级缓存中移除对应的工厂。

http://www.khdw.cn/news/14547.html

相关文章:

  • 津做网站广州谷歌推广
  • 君隆做网站怎么样一键优化大师
  • 做网站的点子短视频优化
  • 网站创建怎么做宽带推广方案
  • 做网站如何备案浙江网站seo
  • 营销型网站 典型案例产品50个关键词
  • dw自己做的网站手机进不去免费建网站软件下载
  • 揭阳网站设计制作今日热点新闻事件标题
  • 自建站是什么意思注册一个公司网站需要多少钱
  • 全国疫情最新消息各省排名排名优化工具下载
  • 上海网站开发哪里有深圳互联网推广公司
  • 网站在线建设镇江seo
  • 网站侵权怎么做公证或证据保存淘宝流量
  • 金华永康网站建设谷歌浏览器chrome官网
  • 网站设计深圳友链交易
  • 仙居网站制作网络推广营销软件
  • 网站主机要怎么做投广告哪个平台好
  • 常州建站服务建网站需要多少钱和什么条件
  • 电商平台怎么开发seo优化网站查询
  • java做网站书学编程的正规学校
  • 公司如何做网站建设国外搜索引擎大全不屏蔽
  • 用html做一号店网站怎么做软文范例大全800
  • 昆明网站建设制作舆情系统
  • 福州设计网站电商运营工资一般多少钱一个月
  • 求个网站2021百度网盘服务电话6988
  • 西充建设部门投诉网站云搜索
  • 什么颜色做网站好看搜索引擎营销广告
  • iis网站筛选器被挂马谷歌下载官网
  • 做澳洲外贸的网站百度推广账号登陆入口
  • 网站建站服务公司重庆官网seo分析