请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

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

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

正在回答

2回答

悟空 2020-10-12 10:57:27

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


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

1 回复 有任何疑惑可以回复我~
提问者 慕九州227302 2020-10-12 11:56:21

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

1 回复 有任何疑惑可以回复我~
  • 悟空 #1
    是对的
    回复 有任何疑惑可以回复我~ 2020-10-12 17:22:13
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信