ThreadLocal在
WeakReference内部使用。如果
ThreadLocal未强烈引用,则即使各种线程都通过that存储值,也将对其进行垃圾回收
ThreadLocal。
此外,
ThreadLocal值实际上存储在
Thread;中。如果线程死亡,则将通过a
ThreadLocal收集与该线程关联的所有值。
如果您有
ThreadLocal最终班级成员的身份,那将是一个很好的参考,并且只有在卸载该类后才能收集它。但这是任何类成员的工作方式,不被视为内存泄漏。
更新: 只有在
ThreadLocal强引用中存储的值
ThreadLocal(某种循环引用)中,所引用的问题才起作用。
在这种情况下,值(a
SimpleDateFormat)没有向后引用
ThreadLocal。这段代码没有内存泄漏。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)