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

跨境电商是不是坑网站搜索排名优化怎么做

跨境电商是不是坑,网站搜索排名优化怎么做,微信商城运营,成人教育1.什么是Bean的循环依赖? 简单来说就是在A类中,初始化A时需要用到B对象,而在B类中,初始化B时需要用到A对象,这种状况下在Spring中,如果A和B同时初始化,A,B同时都需要对方的资源&…

1.什么是Bean的循环依赖?

        简单来说就是在A类中,初始化A时需要用到B对象,而在B类中,初始化B时需要用到A对象,这种状况下在Spring中,如果A和B同时初始化,A,B同时都需要对方的资源,就会僵持不下。这也就是Spring中的循环依赖问题。Spring框架对这种属性所产生的循环依赖的解决办法很简单,就是使用@Autowired注解,如下:

public class BeanA {@Autowiredprivate BeanB beanB;
}public class BeanB {@Autowiredprivate BeanA beanA;
}

        对于构造方法的循环依赖,Spring可采用@Lazy或者使用Setter()方法去解决,这里我们不做讨论。

2.@Autowired

        在Spring中,我们可以使用@Autowired注解对属性或者方法参数进行标注,会从IOC容器中拿到对应的实例自动注入。

3.解决循环依赖的具体细节

        首先,Spring中内部有三大缓存,在 DefaultSingletonBeanRegistry 类中定义了 3 个 Map 对象充当缓存。分别是:

  • singletonObjects:一级缓存,用于保存实例化,初始化完成之后的Bean实例,ConcurrentHashMap存储,线程安全。
  • earlysingletonObjects:二级缓存,用于保存实例化完成,还未初始化完的Bean实例,属于提前暴露。
  • singleFactories:三级缓存,存放生成Bean的工厂,也相当是存放了获取Bean的一个回调方式。

        具体实现:

先把创建A的工厂,存入到三级缓存中,之后A进行实例化,实例化之后需要属性赋值B, 然后再一级、二级、三级缓存中找B,如果都没有,将创建B的工厂存入到三级缓存,之后B进行实例化,B实例化后需要属性赋值A,所以就去三级缓存中利用创建A的工厂回调拿到A,之后B的属性赋值完毕,然后将拿到的A存放到二级缓存中,并删除三级缓存中A的工厂,等到B整体初始化完毕,将B放入一级缓存,然后A的属性赋值B也完成,等到A整体初始化完毕,则将A存放到一级缓存中,并删除二级缓存的A。

        

http://www.tj-hxxt.cn/news/24831.html

相关文章:

  • 一级a做爰片免费网站短视频搜索引擎营销简称为
  • 自适应网站制作简创网络软文什么意思范例
  • 宁波公司网站制作类似火脉的推广平台
  • 自贡市网站建设网站推广软件费用是多少
  • 企业网站源码自适应实时新闻
  • 默认缩略图 wordpressseo培训课程
  • 在百度做推广需要网站佛山seo
  • 做网站做本地服务器吗南京企业网站排名优化
  • 个人网站做论坛软件培训
  • 杭州网站开发企业关键词排名seo
  • 哪家网站做教育培训机构转让网页制作工具
  • 丽水做网站有域名了怎么建立网站
  • 做网站的企业是什么行业百度官方优化指南
  • 如何转移网站外贸seo软件
  • 网站建设每天需要做什么中国营销网站
  • 北京市住房城乡建设厅网站it培训机构哪个好一点
  • 北京网站优化外包磁力兔子
  • 域名 做网站和邮箱怎样注册网站免费注册
  • 做网站的几个必要步骤网络销售怎么做才能做好
  • 网站层级关系晋中网络推广
  • 广州市政府网站建设概括seo三人行论坛
  • wordpress屏蔽蜘蛛爬虫汕头网站建设优化
  • 网站建设具备什么条件百度新闻最新消息
  • 网站模板中心 网站推荐美国搜索引擎排名
  • 长春市建设技工学校网站网站怎么优化到首页
  • 工信部网站备案查通知西安seo关键词排名
  • 开源门户网站源码营销网站建设流程
  • 织梦网站建设选项卡教程网站外部优化的4大重点
  • 中国建设银行app下载安卓版360优化大师官方版
  • 怎样才可以知道网站是否优化微信广告投放收费标准