ThreadLocal 内存泄漏

TheadLocal 内存泄漏的根源是: 由于ThreadLocalMap的生命周期跟Thread一样长,

如果没有手动删除对应的key就会导致内存泄漏,而不是因为弱引用


(一) ThreadLocalMap的 key 为 ThreadLocal  =》弱引用


(二) ThreadLocal正确的使用方法

  1 每次使用完ThreadLocal都调用它的remove()方法清除数据

 

  2 将ThreadLocal变量定义成private static , 这样就一直存在ThreadLocal的强引用,也就能保证任何时候

      都能通过ThreadLocal的弱引用访问到Entry的value值,进而清除掉。


    偏向  

原文地址:https://www.cnblogs.com/misscai/p/14568227.html