ThreadLocalMap中为什么valu是强引用,不是弱引用

Posted 技术无产者

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ThreadLocalMap中为什么valu是强引用,不是弱引用相关的知识,希望对你有一定的参考价值。

这里假设value和threadlocal都是弱引用,假如threadlocal除了 被Entry这个弱引用所引用之外,还被强引用(使用threadLocal时threadLocal对象肯定是被强引用的,当不被使用时也就没被强引用这时候Gc可回收),但这时threadLocal.set(value),value的值没被其它对象引用,只是传递给thread,也就是value 这时只被Entry这个弱引用所引用,这时候发生gc,threadlocal不会被回收,value回被回收 ,导致通过threadlocal获得value值时获得为Null。

以上是关于ThreadLocalMap中为什么valu是强引用,不是弱引用的主要内容,如果未能解决你的问题,请参考以下文章

强引蜘蛛收录是什么

关于ThreadLocal最直白的解释

关于C#中的弱引用

强引蜘蛛池提高秒收录软件

ThreadLocalMap里Entry为何声明为WeakReference?

java——ThreadLocalThreadLocalMapThread三者的关系