ThreadLocal

每个线程有一个ThreadMap。

Map中有很多Entry<K,V>。

K是当前的ThreadLocal引用,V是具体的值。

ThreadLocal继承了WeakReference<Object>类,表明它是一个弱引用类型

当JVM垃圾回收时,会将ThreadLocal对象回收,那么Entry中的key就变为Null,但key和val是相连的,也就是说val是一个强引用,entry不被回收,就会造成垃圾泄露(用不到的对象没有被回收)

处理方法为删除key为null的entry。

posted @ 2021-03-15 19:58  Coder_Dai  阅读(45)  评论(0)    收藏  举报