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

单例模式双重检查锁中,为什么在获取锁之后需要第二次判空?

深圳虾皮信息科技有限公司后端开发互联网/IT风险判断技术原理Java

考察说明

考察对双重检查锁中锁与实例初始化顺序的理解

回答思路

  1. 说明第一次判空是为了避免不必要的加锁开销
  2. 指出第二次判空是为了防止多个线程同时通过第一次判空后重复创建实例
  3. 强调在获取锁后必须再次判空才能保证单例的唯一性
本题已收录答题指导

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

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