mirror of
https://github.com/Snailclimb/JavaGuide
synced 2025-06-16 18:10:13 +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实际上是类、方法的变量ThreadLocal,如果该变量被回收也就意味着内部的V永远不会被找到,成为了内存泄漏的原因。
|
||||
|
||||
|
||||
**重点在于key并非是弱引用,只是v作为map的直接引用无法被回收,因此使其成为了弱引用类型,并在set、get方法中做了一系列安全措施。**
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user