1、ThreadLocal可以理解为线程本地变量,存储在Thread.ThreadLocal.ThreadLocalMap中,数据结构为Entry[],key为ThreadLocal对象,value为存储的值。
2、ThreadLocal为弱引用,不会出现内存泄漏,但value可能为,因为key为null时,value没回收就存在了内存泄漏,除非线程结束。所以用完了调用remove()方法,删除Entry对象。
1、ThreadLocal可以理解为线程本地变量,存储在Thread.ThreadLocal.ThreadLocalMap中,数据结构为Entry[],key为ThreadLocal对象,value为存储的值。
2、ThreadLocal为弱引用,不会出现内存泄漏,但value可能为,因为key为null时,value没回收就存在了内存泄漏,除非线程结束。所以用完了调用remove()方法,删除Entry对象。