ThreadLocal
每个线程有一个ThreadMap。
Map中有很多Entry<K,V>。
K是当前的ThreadLocal引用,V是具体的值。
ThreadLocal继承了WeakReference<Object>类,表明它是一个弱引用类型
当JVM垃圾回收时,会将ThreadLocal对象回收,那么Entry中的key就变为Null,但key和val是相连的,也就是说val是一个强引用,entry不被回收,就会造成垃圾泄露(用不到的对象没有被回收)
处理方法为删除key为null的entry。
浙公网安备 33010602011771号