1. 程式人生 > >反駁:Threadlocal存在記憶體洩露

反駁:Threadlocal存在記憶體洩露

最近看到網上的一篇文章,分析說明ThreadLocal是如何記憶體洩露的. 但我不這麼認為. ThreadLocal設計的很好,根本不存在記憶體洩露問題. 本文就結合圖和程式碼的例子來驗證我的看法.

網上的程式碼例子普遍是這樣子的:

01 public class Test {
02 public static void main(String[] args) throws InterruptedException {
03 ThreadLocal tl = 
new MyThreadLocal();
04 tl.set(new My50MB());
05
06 tl=null;
07
08 System.out.println("Full GC");
09 System.gc();
10 }
11
12
public static class MyThreadLocal extends ThreadLocal {
13 private byte[] a = new byte[1024