网站文章页图片不显示360平台推广
每个线程(Thread 对象)内部维护一个 ThreadLocalMap,用于存储该线程的所有 ThreadLocal 变量的键值对:
ThreadLocalMap虽然是ThreadLocal的静态内部类,但是Thread 对象的属性,当线程存活时ThreadLocalMap不会被回收。
-  
Key:
ThreadLocal实例的 弱引用(WeakReference)。 -  
Value:实际存储的值(强引用)。
 
内存泄漏的必要条件:
-  
线程复用(如线程池中的线程):
-  
线程执行完任务后不会销毁,而是回到线程池等待下一个任务。
 -  
该线程的
ThreadLocalMap会一直存在。 
 -  
 -  
ThreadLocal 实例被回收:
-  
如果
threadLocal是静态变量,它不会被回收(生命周期与类一致)。 -  
如果
threadLocal是局部变量ÿ 
 -  
 
