TreadLocalMap 其实是可以抽取成单独的类的?这样就使得逻辑和嵌套关系没有这么绕的感觉。
# 我觉得,ThreadLocalMap只有被ThreadLocal使用,做成单独的类没什么意义,反倒会迷惑人。
为什么只有Key要设计成WeakReference而不是Key和Value都是,或者这里为什么要设置弱引用?如果为了保护内存空间其实两者都是弱引用更好吧,是不是有什么其它考虑?
# 这样的话如果Key还有强引用而Value没有,会造成key映射到null上的。类似的WeakHashMap也是Key是WeakReference.
threadLocal.get() ==> returns value
// GC happened
threadLocal.get() ==> returns null;
关于ThreadLocal内存泄露的备忘还记得第一次接触到ThreadLocal可能导致内存泄露的问题是有一次面试的时候被问到了ThreadLocal的缺陷是什么。当然由于后来没有面试官的联系方式很遗憾也一直没能确...