后端岗位面试题更新 2026-08-05

ThreadLocal底层实现中,为什么key使用弱引用?如果key被回收,再次get或set这个value会发生什么?

快手后端开发互联网/IT风险判断技术原理问题排查Java

考察说明

考察对ThreadLocal内存模型、引用类型与内存泄漏机制的理解

回答思路

  1. 准确说明ThreadLocalMap中ThreadLocal作为key、value为实际对象的结构
  2. 解释弱引用设计目的:防止ThreadLocal对象无法被回收导致内存泄漏
  3. 说明key被回收后value仍被强引用指向,造成Entry未清除
  4. 分析get/set时清理过期Entry(expungeStaleEntry)的机制
  5. 区分线程池场景下ThreadLocal复用的内存泄漏风险
本题已收录答题指导

本题附完整参考答案与评分标准

登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。