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

教育网站制作公司旅游网页设计说明书

教育网站制作公司,旅游网页设计说明书,杭州房价,平台网站开发可行性分析目录 循环依赖问题 三级缓存 三级缓存创建Bean的流程#xff08;解决循环依赖问题#xff09; 三级缓存的局限性 Spring的三级缓存是为了解决单例Bean的循环依赖问题而存在的。 循环依赖问题 简单来说就是A依赖B#xff0c;而B又依赖A。即创建A的时候#xff0c;需要先…目录 循环依赖问题 三级缓存 三级缓存创建Bean的流程解决循环依赖问题 三级缓存的局限性 Spring的三级缓存是为了解决单例Bean的循环依赖问题而存在的。 循环依赖问题 简单来说就是A依赖B而B又依赖A。即创建A的时候需要先创建B但是创建B的时候需要先创建A。这样就陷入了死循环两个都创建不了。 三级缓存 一级缓存存储已经完全初始化的单例Bean二级缓存存储已经实例化但还未初始化的Bean三级缓存存储用于创建Bean的工厂 要理解三级缓存创建Bean的逻辑首先需要了解Bean的生命周期 实例化分配内存空间填充属性值解析依赖关系注入默认属性等初始化设置属性值执行逻辑等 各种Aware通知如BeanNameAware、BeanFactoryAware等执行初始化前置方法执行PostConstruct初始化方法执行初始化后置方法使用Bean销毁Bean 当然在实例化之前还要进行一些实例化前置处理这里不讨论。 注意初始化一定是在填充属性值的后面否则可能出现异常如空指针 三级缓存创建Bean的流程解决循环依赖问题 创建Bean对象时首先看一级缓存中是否存在如果存在直接使用即可不存在则实例化一个Bean并通过三级缓存的工厂进行填充属性和初始化。如果这个过程存在循环依赖问题如A需要注入BSpring就在三级缓存中实例化B并把B放到二级缓存中A完成初始化后创建成功B也可以在二级缓存中完成初始化并放到一级缓存中。 三级缓存的局限性 三级缓存仅用来解决单例Bean的循环依赖问题。例如原型Bean的循环依赖就无法通过三级缓存来解决。 如果原型Bean也采用三级缓存的方式会增加巨大的开销因为原型Bean的数量是远远多于单例Bean的而且每个Bean的属性和状态都可能有巨大的不同要存储这些所有的Bean和对应的工厂耗费的资源是十分巨大的。虽然可以在一级缓存中移除已经取走的Bean但是一级缓存是通过一个ConcurrentHashMap来维护的频繁的进行移除操作对性能影响也很大。再者从设计理念上来说原型Bean是每次创建都获取到一个新的对象从缓存中取显然不满足这个理念。因此原型Bean的循环依赖问题不适合用三级缓存来解决。事实上创建原型Bean的时候如果存在循环依赖的问题Spring会直接抛异常。 因此在设计上应该避免使用循环依赖。
http://www.zqtcl.cn/news/18147/

相关文章:

  • 十堰网站建设是什么网站建设要会英语吗
  • 有动态图片的网站源码网址大全下载安装
  • 旅游区网站建设nginx rewrite wordpress
  • 海西州住房建设局网站无锡优化
  • 淄博网站制作网页营销aaaa景区网站建设标准
  • 龙岗网站建设szaowwordpress所需系统
  • 做游戏能赚钱的网站福田欧曼est前四后八
  • 发外链的论坛网站wordpress链接修改密码
  • 大朗做网站本溪市做网站公司
  • 网站设计前期沟通单做企业官网用什么开发
  • seo网站推广的目的包括哪个方面扫一扫查价格
  • 网站备案 更改ip免费国产linux服务器系统
  • 战鼓的h5网站如何做禹顺生态建设有限公司网站
  • 网站建设战略杭州做网站价格
  • 网站服务器及运营维护公告域名注册后网站建设
  • 推荐网站建设的书网站去除前台验证码
  • 南京高端网站设计杭州专业网站
  • 做英德红茶的网站如何组建网站开发团队
  • 网站备案信息被注销怎么注册公司域名邮箱
  • 全球最大的外贸平台长沙seo结算
  • 做一款app需要网站吗wordpress 发布文章
  • 慈溪企业网站建设网站推广过程
  • 低价网站建设教程做网站要会哪些软件
  • 深圳石岩网站建设html5网站后台管理系统
  • 网站建设与规划实训报告现在建设一个网站需要什么技术
  • 上海优化网站公司哪家好北京文化馆设计公司的参数
  • 重庆门户网站华龙网如何自己制作公司网站
  • 自己动手做网站教程页面模板够30条
  • 南开做网站公司电脑记事本做网站
  • 怎么在网站投放广告自动推广软件下载