我感觉文中最后内存溢出的部分不太对,内存溢出的概念是什么?
有一些对象不能 GCRoots 引用然而没有实际的调用链路导致不能被 GC 回收,那么例子中使用线程池说明 ThreadLocal 的内存泄漏问题有一些牵强,线程池存在的意义就是复用,那么既然线程池的线程活着,他们自己持有的 ThreadLocal 又何谈内存泄漏,同样的例子,你不用线程,直接 for 循环去占用内存一样 OOM,所以我更觉得这是内存占用过多,并不是内存溢出。
ThreadLocal分析其弱引用和可能引起的内存泄漏ThreadLocal大家都不陌生,字面意思是线程本地副本,可在多线程环境下,为每个线程创建独立的副本保证线程安全,在需要线程隔离的场合应用很广泛,但是关于ThreadLoc...