ThreadLocal内存泄漏问题
本质原因是ThreadLocalMap中的ThreadLocal对象是一个软引用类型,弱引用类型在在触发gc时被回收,也就是将ThreadLocalMap中的key回收了,但是threadLocalMap中的value未被回收,对应的ThreadLocalMap中的entry只有value,而没有key。而且该entry也无法被回收。从而导致内存泄漏。
引用链如下图:

本质原因是ThreadLocalMap中的ThreadLocal对象是一个软引用类型,弱引用类型在在触发gc时被回收,也就是将ThreadLocalMap中的key回收了,但是threadLocalMap中的value未被回收,对应的ThreadLocalMap中的entry只有value,而没有key。而且该entry也无法被回收。从而导致内存泄漏。
引用链如下图:
