ThreadLocal的value为什么是弱引用
时间: 2023-11-01 14:55:16 浏览: 218
ThreadLocal原理及内存泄漏原因
ThreadLocal的value为弱引用是为了避免内存泄漏问题。当ThreadLocal作为key时,如果ThreadLocal的value是强引用,即使外部对ThreadLocal的强引用回收了,但是在ThreadLocalMap中的key仍然指向ThreadLocal,因此ThreadLocal对象无法被垃圾回收。这就可能导致内存泄漏问题。为了解决这个问题,ThreadLocal的value被设计为弱引用。当外部对ThreadLocal的强引用被回收后,ThreadLocal对象就可以被垃圾回收,进而释放掉与之相关的资源。这样就避免了内存泄漏问题的发生。
阅读全文