@青佩chenglong,是的,如果value设置为弱引用,key 没被回收,但是value 被回收了。这个时候获取的值是null.由于本身也可以设置value的值为null,这样就导致这个时候没法判断value 是被回收了还是本身的值就是null ,会造成程序出错
关于ThreadLocal内存泄露的备忘还记得第一次接触到ThreadLocal可能导致内存泄露的问题是有一次面试的时候被问到了ThreadLocal的缺陷是什么。当然由于后来没有面试官的联系方式很遗憾也一直没能确...
@青佩chenglong,是的,如果value设置为弱引用,key 没被回收,但是value 被回收了。这个时候获取的值是null.由于本身也可以设置value的值为null,这样就导致这个时候没法判断value 是被回收了还是本身的值就是null ,会造成程序出错
关于ThreadLocal内存泄露的备忘还记得第一次接触到ThreadLocal可能导致内存泄露的问题是有一次面试的时候被问到了ThreadLocal的缺陷是什么。当然由于后来没有面试官的联系方式很遗憾也一直没能确...
TreadLocalMap 其实是可以抽取成单独的类的?这样就使得逻辑和嵌套关系没有这么绕的感觉。
# 我觉得,ThreadLocalMap只有被ThreadLocal使用,做成单独的类没什么意义,反倒会迷惑人。
为什么只有Key要设计成WeakReference而不是Key和Value都是,或者这里为什么要设置弱引用?如果为了保护内存空间其实两者都是弱引用更好吧,是不是有什么其它考虑?
# 这样的话如果Key还有强引用而Value没有,会造成key映射到null上的。类似的WeakHashMap也是Key是WeakReference.
threadLocal.get() ==> returns value
// GC happened
threadLocal.get() ==> returns null;
引言 这三种的关系由于大量的内部类的关系,第一次看的时候还是有点绕的,感觉你是老子的孙子,又是老子的老子。我还是建议你先抛开内部类的关系,把每一个类当作普通类来看到,理解每個...
今天突然收到百度云邮件提醒,发现高危漏洞。吓得我赶紧登陆百度云查看,原来是nginx 的旧版本有漏洞,需要升级 问题是服务器上运行着很多服务,如何平滑的进行升级呢?接下来看我...
以前从没有觉得出奇的恩爱,只是觉得比较合拍。最近的生活发生了些变化,知道我们的人多了,我们这才知道这样的互动在大家的眼里是在撒狗粮~ 前些天搞了个活动,发的帖子里面随意写了几...