Skip to content

Commit f502095

Browse files
committed
fix:ThreadLocal 内存泄露问题是怎么导致的?
1 parent 661226a commit f502095

File tree

1 file changed

+1
-0
lines changed

1 file changed

+1
-0
lines changed

docs/java/concurrent/java-concurrent-questions-03.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,7 @@ key不同于Map<K,V>接口的一般实现,使用node<k,V>将key和value一起
138138
那么此时k存在v就一定存在,但是问题并没有结束,因为会出现k不存在,但是v存在的情况!
139139
这是由于k实际上是类、方法的变量ThreadLocal,如果该变量被回收也就意味着内部的V永远不会被找到,成为了内存泄漏的原因。
140140

141+
141142
**重点在于key并非是弱引用,只是v作为map的直接引用无法被回收,因此使其成为了弱引用类型,并在set、get方法中做了一系列安全措施。**
142143

143144

0 commit comments

Comments
 (0)