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

单例双重检查锁为什么要检查2次?

转转后端开发消费品/零售技术原理Java

考察说明

考察并发编程中双重检查锁定(DCL)的原理与正确性理解

回答思路

  1. 说明第一次检查用于避免无竞争时的加锁开销
  2. 说明第二次检查确保多线程竞争下只创建一个实例
  3. 阐述volatile关键字在防止指令重排中的作用
  4. 能够指出DCL在不使用volatile时可能带来的隐患
本题已收录答题指导

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

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