按照网上图的来说是栈里 threadlocal 的强引用断开后,而这个线程一直存活的情况,value 不会释放 从而导致内存泄漏(这个理解没错吧)
ThreadLocal tl = new ThreadLocal();
tl.set(1)
do something;
//这边设置 null 断开强引用 应该会产生内存泄漏吧?
//但是实际开发 应该不会这么无聊 手动设置成 null 吧;
//所以 实际情况下 什么时候会产生内存泄漏 (排除这种 new ThreadLocal().set(1)的 骚操作)
tl = null;
System.gc();