ThreadLocalMap.Entry中key是弱引用,GC扫到它就回收吗?

来源:4-15 收不回来的value

慕九州227302

2020-10-07

key是弱引用,gc扫到后回收key引用的ThreadLocal对象时候,还看该对象是否被强引用,对不对?如果有强引用就不回收;等强引用消失后才回收。
value收不回来的情况,还需要声明ThreadLocal的地方把强引用去除,才会发生,对不对?

写回答

2回答

悟空

2020-10-12

key是弱引用,gc扫到后回收key引用的ThreadLocal对象时候,还看该对象是否被强引用,对不对?如果有强引用就不回收;等强引用消失后才回收。:对的


value收不回来的情况,还需要声明ThreadLocal的地方把强引用去除,才会发生,对不对?:对的

1
0

慕九州227302

提问者

2020-10-12

key设计为弱引用,就是为了想回收Threadlocal时,直接将声明的变量赋值null就可以了

1
1
悟空
是对的
2020-10-12
共1条回复

深度解密Java并发工具,精通JUC,成为并发多面手

JUC全方位讲解,构建并发工具类知识体系

1599 学习 · 573 问题

查看课程