ThreadLocal为什么会造成内存泄漏及其解决方案分析
下文笔者讲述ThreadLocal内存泄露的原因分析及处理方法分享,如下所示
ThreadLocal内存泄露的原因
ThreadLocalMap中使用key为ThreadLocal弱引用 而value是强引用 所以,如果ThreadLocal没有被外部强引用的情况下 在垃圾回收的时候,key会被清理掉 而value不会被清理掉 此时ThreadLocalMap 中就会出现key为null的Entry value不会被GC回收,长此以往就会产生内存泄露
ThreadLocal内存泄露的解决方法
ThreadLocal使用完毕后,需调用它的remove()方法,清除数据
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。