240 发简信
IP属地:上海
  • 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的缺陷是什么。当然由于后来没有面试官的联系方式很遗憾也一直没能确...