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是强引用,不是弱引用的主要内容,如果未能解决你的问题,请参考以下文章