请介绍 ThreadLocal 的实现原理,并说明在什么场景下可能导致内存泄漏或内存溢出?
考察说明
考察对 ThreadLocal 原理、线程本地变量生命周期和内存管理风险的理解
回答思路
- 准确说明 ThreadLocal 的线程隔离机制与 ThreadLocalMap 存储结构
- 解释 Entry 的弱引用设计及其意义
- 识别 key 为 null 导致 value 无法回收的内存泄漏场景
- 说明线程池复用线程时未正确 remove 造成的风险
- 给出避免内存泄漏的工程实践,如 finally 中调用 remove
本题已收录答题指导
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。