ThreadLocal为变量在每个线程中都创建了一个副本,那么每个线程可以访问自己内部的副本变量
set、get获取,内部是ThreadLocalMap存储,
ThreadLocalMap 的key设置为null, key将被gc回收,value需要自己清除
ThreadLocal不会自己清除对象,只有当线程终止的时候,设置的value才会被清除
如果使用线程池,线程不会终止,就会造成value一直存在,内存泄露
ThreadLocal为变量在每个线程中都创建了一个副本,那么每个线程可以访问自己内部的副本变量
set、get获取,内部是ThreadLocalMap存储,
ThreadLocalMap 的key设置为null, key将被gc回收,value需要自己清除
ThreadLocal不会自己清除对象,只有当线程终止的时候,设置的value才会被清除
如果使用线程池,线程不会终止,就会造成value一直存在,内存泄露