Java ThreadLocal 原理、使用场景及内存泄漏问题
ThreadLocal 是 Java 中实现线程隔离的工具,每个线程拥有独立的变量副本。其核心基于 ThreadLocalMap 和 Entry 弱引用设计。常见用于 Web 请求上下文传递、数据库连接管理及避免参数冗余。主要风险在于线程池复用导致的内存泄漏,因 Key 为弱引用而 Value 为强引用。最佳实践是在 finally 块中调用 remove() 方法及时清理资源,或选用 TransmittableThreadLocal 解决线程池传递问题。


