ThreadLocal有没有可能内存泄漏?
当一个线程结束时,其ThreadLocalMap也会随之销毁,但是ThreadLocal对象本身不会立即被垃圾回收,直到没有其他引用指向它为止。
因此,在使用 ThreadLocal 时需要注意,如果不显示调用remove()方法,或者线程结束时未正确清理ThreadLocal变量,可能会导致内存泄漏,因为ThreadLocalMap会持有ThreadLocal变量的引用,即使这些变量不再被其他地方引用。
因此,实际应用中需要在使用完ThreadLocal变量后调用remove()方法释放资源。

浙公网安备 33010602011771号