ThreadLocal内存泄漏的原因
2021-04-01 14:26:48 5 举报
ThreadLocal内存泄漏的原因
作者其他创作
大纲/内容
Object
Key
1. ThreadLocal tl = new ThreadLocal2. tl.set(new Object())
Value
threadLocalMap
ThreadLocal(tl)
Thread1
Entry
Entry继承了WeakRefrence,将它内部的Key(ThreadLocal)设置成弱引用,所以每次gc都会回收它,一旦它被回收,那么设置的Object将无法被访问,而且由于Object一直被当前线程直接引用,所以线程不销毁,该Object也不会被gc,就导致了内存泄漏。
0 条评论
下一页