请解释 ThreadLocal 的实现原理,并说明其内存泄漏风险及应对措施。
考察说明
考察对线程局部变量存储机制、线程隔离原理和内存泄漏防范的理解
回答思路
- 说明每个线程维护自己的 ThreadLocalMap,键为 ThreadLocal 弱引用,值为变量副本
- 解释线程隔离和变量副本的存取流程
- 指出 ThreadLocal 内存泄漏根源:Entry 的 key 为弱引用、value 强引用,线程不复用或未 remove 时 value 无法回收
- 给出标准应对:使用后调用 remove,或配合 try-finally 清理
本题已收录答题指导
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。