我感覺文中最后內(nèi)存溢出的部分不太對(duì),內(nèi)存溢出的概念是什么?
有一些對(duì)象不能 GCRoots 引用然而沒有實(shí)際的調(diào)用鏈路導(dǎo)致不能被 GC 回收,那么例子中使用線程池說(shuō)明 ThreadLocal 的內(nèi)存泄漏問(wèn)題有一些牽強(qiáng),線程池存在的意義就是復(fù)用,那么既然線程池的線程活著,他們自己持有的 ThreadLocal 又何談內(nèi)存泄漏,同樣的例子,你不用線程,直接 for 循環(huán)去占用內(nèi)存一樣 OOM,所以我更覺得這是內(nèi)存占用過(guò)多,并不是內(nèi)存溢出。
ThreadLocal分析其弱引用和可能引起的內(nèi)存泄漏ThreadLocal大家都不陌生,字面意思是線程本地副本,可在多線程環(huán)境下,為每個(gè)線程創(chuàng)建獨(dú)立的副本保證線程安全,在需要線程隔離的場(chǎng)合應(yīng)用很廣泛,但是關(guān)于ThreadLoc...