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

国内网站域名软件技术的了解

国内网站域名,软件技术的了解,国内ui做的好的网站有哪些,大数据培训1、ThreadLocal内存泄漏 在Threadlocal的内部静态类中Entry将Threadlocal作为一个key,值作为value保存,他继承WeakReference,super(k),代表了Threadlocal对象是一个弱引用; static class Entry extends WeakReference…

1、ThreadLocal内存泄漏

        在Threadlocal的内部静态类中Entry将Threadlocal作为一个key,值作为value保存,他继承WeakReference,super(k),代表了Threadlocal对象是一个弱引用;

static class Entry extends WeakReference<ThreadLocal<?>> {/** The value associated with this ThreadLocal. */Object value;Entry(ThreadLocal<?> k, Object v) {super(k);value = v;}
}

 内存泄漏原因:

  • 没有手动删除这个Entry,调用remove()
  • CurrentThread当前线程仍然在运行

对于第一点:只有使用完Threadlocal,调用其remove()删除对应对的Entry,可以避免内存泄漏;

对于第二点:

  • ThreadlocalMap作为Thread的一个变量,只要Thread运行,那么ThreadlocalMap就不会被清理掉。
  • 通过上面源码可以看出,Threadlocal运行在一个方法中,在虚拟机栈的局部变量表中某个slot上,指向了内存空间中该Threadlocal对象,假设调用了get()方法后,ThreadlocalMap中的一个Entry指向了Threadlocal实例,且是弱引用,该方法执行完成,虚拟机栈释放。此时只有ThreadLocalMap中的一个Entry指向ThreadLocal对象
  • 此时发生GC,根据弱引用的特点,如果一个对象只有弱引用,该对象将被回收,此时ThreadlocalMap中出现一个entry(null,Entry)
  • ThreadLocalMap中就会出现 key 为 null 的 Entry。假如我们不做任何措施的话,value 永远无法被 GC 回收,这个时候就可能会产生内存泄露。

总结:由于ThreadLocalMap 的生命周期跟 Thread 一样长,对于重复利用的线程来说,如果没有手动删除(remove()方法)对应 key 就会导致entry(null,value)的对象越来越多,从而导致内存泄漏.

 2、为什么不将key设置为强引用

        那么为什么ThreadLocalMap的key要设计成弱引用呢?其实很简单,如果key设计成强引用且没有手动remove(),那么key会和value一样伴随线程的整个生命周期。假设在业务代码中使用完ThreadLcoal,ThreadLocal ref被回收了,但是ThreadLocalMap强引用了Threadlocal(Key就是ThreadLocal),造成了ThreadLocal无法被回收。在没有手动回收Entry以及CurrentThread依然运行的前提下,始终有强引用链 CurrentThread Ref -> CurrentThread -> ThreadLocalMap -> entryEntry就不会被回收( Entry中包括了ThreadLocal实例和value), 导致Entry内存泄漏

结尾:喜欢的朋友点个赞吧!!!

http://www.yayakq.cn/news/397214/

相关文章:

  • 介绍几个能进去的a站四川省住房和城乡建设厅证书查询
  • 做网站的人月wordpress 更新数据库
  • 站长之家是干什么的wordpress即时
  • 高埗镇网站仿做广州seo网站推广平台
  • 文学投稿网站平台建设videopro wordpress
  • 网站建设就业怎么样专门做项目代理的网站
  • 上海城乡住房建设部网站首页网站建设开发流程按钮
  • 公司网站维护方案网站建设要那些收费项
  • 怎么给网站开发后台西充移动网站建设
  • 萍乡网站优化vi设计说明模板
  • 学校官网网站建设的现状分析招聘网页制作工程师
  • 免费html网站模板wordpress 主题函数
  • 网站模板修改器苏州网站排名方案
  • 长沙网站制作哪家强网络推广工作怎么样
  • 网站建设合同的法律信息技术九年级上册网站咋做
  • 好的电商网站建设与维护意味着什么校园网站建设的感受论文
  • 手机商城网站设计做婚宴的网站有哪些
  • 天堂资源官网在线资源旺道seo怎么优化网站
  • 石家庄网站制作官网濮阳创建网站公司
  • 海外网站建站免费高清视频素材网
  • 常州网站推广招聘怎样做网站的用户分析
  • 教育网站制作企业广州市中心在哪个区
  • 网站开启gzipwordpress如何设置邮箱验证码
  • 岳池做网站电话庐江建网站公司
  • 书画展示网站模板广州正规网站建设企业
  • wordpress网站的根目录在哪襄樊门户网站建设
  • 手机端网站建设方案滕州 网站 建设
  • 金湖县城乡建设局网站百度广告联盟收益
  • 公司自己做网站推广小白如何做跨境电商
  • 做网站免费送域名一般网站用什么软件做