mirror of
https://github.com/Snailclimb/JavaGuide
synced 2025-06-20 22:17:09 +08:00
fix:ThreadLocal 内存泄露问题是怎么导致的?
This commit is contained in:
parent
661226ab4e
commit
f5020958d6
@ -138,6 +138,7 @@ key不同于Map<K,V>接口的一般实现,使用node<k,V>将key和value一起
|
|||||||
那么此时k存在v就一定存在,但是问题并没有结束,因为会出现k不存在,但是v存在的情况!
|
那么此时k存在v就一定存在,但是问题并没有结束,因为会出现k不存在,但是v存在的情况!
|
||||||
这是由于k实际上是类、方法的变量ThreadLocal,如果该变量被回收也就意味着内部的V永远不会被找到,成为了内存泄漏的原因。
|
这是由于k实际上是类、方法的变量ThreadLocal,如果该变量被回收也就意味着内部的V永远不会被找到,成为了内存泄漏的原因。
|
||||||
|
|
||||||
|
|
||||||
**重点在于key并非是弱引用,只是v作为map的直接引用无法被回收,因此使其成为了弱引用类型,并在set、get方法中做了一系列安全措施。**
|
**重点在于key并非是弱引用,只是v作为map的直接引用无法被回收,因此使其成为了弱引用类型,并在set、get方法中做了一系列安全措施。**
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user