请介绍 ThreadLocal 的使用场景,以及使用过程中需要注意哪些问题?
考察说明
考察对 ThreadLocal 原理、内存泄漏风险和线程安全边界的理解
回答思路
- 说明 ThreadLocal 的典型使用场景(如线程内上下文传递、SimpleDateFormat 等非线程安全对象隔离)
- 解释 ThreadLocal 底层存储结构(ThreadLocalMap)及 key 为弱引用的设计
- 指出内存泄漏风险:value 强引用与线程存活导致,需及时 remove
- 说明线程池场景下必须清理,以及避免与线程池复用的干扰
- 区分 ThreadLocal 与局部变量或参数的线程封闭差异
本题已收录答题指导
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。