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

做58同城网站需要多少钱策划案例网站

做58同城网站需要多少钱,策划案例网站,抖音生活服务旅行社ota入驻,提升网站流量目录 循环依赖问题 三级缓存 三级缓存创建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.yutouwan.com/news/309586/

相关文章:

  • 实现微信绑定登录网站网站首页图片切换
  • 福州网站建设服务公司免费开源网站系统
  • 网站 前台 设计要求搭建h5流程
  • 万维网网站域名续费鞍山做网站优化
  • 做门户网站服务器选择企业建站服务器
  • 花瓣按照哪个网站做的网站建设 保定
  • 网站开发咨询网站上传照片 传不上去
  • 芜湖门户网站建设多少钱搜索引擎网站
  • 做流量网站挂广告还能挣钱吗域名历史记录查询
  • 邯郸怎样做网站深圳建设集团有限公司地址
  • 网站的链接建设网站建设技术的实现
  • h5 响应式网站国外怎么做自己的网站自建一个页面
  • 高端公司网站设计vps怎么做多个网站
  • wordpress多语言网站萧江做网站
  • 吉林电商网站建设价格男装网站模板演示
  • dede静态网站网站页脚的信息都有什么
  • 中元建设集团网站网站ipv6改造怎么做
  • 企业网站设计的主要目的做网站延期交付了
  • 济南网站推广哪家好公司微信公众号怎么创建
  • 更换模板对网站seo的影响沈阳外贸网站制作公司
  • 在线做头像网站网站怎么加二级域名
  • 建筑设计网站app济南网站建设流程
  • 安徽住房和建设厅网站公关工资一般多少钱一个月
  • 有哪些网站是提供设计图片的wordpress边栏小工具
  • 做网站公司选择哪家好郑州地区网站建设公司
  • 企业网站源码 vue公司网站首页的图片怎么做
  • 制作充值网站延边app网站开发
  • 电子商务网站建设的一般步骤有网站名称推荐
  • 个人网站注册公司开发公司虚列成本
  • 安庆市建设银行网站公司简介模板素材