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

请解释Java单例模式中双重校验锁(Double-Checked Locking)的实现,并说明volatile关键字的作用。

极氪汽车后端开发汽车编码实现风险判断技术原理Java

考察说明

考察并发单例实现的正确性、内存可见性与指令重排风险

回答思路

  1. 能给出完整的双重校验锁代码结构:外判空、加锁、内判空、volatile字段
  2. 说明volatile防止指令重排导致的未完全初始化对象暴露
  3. 解释synchronized锁的粒度与性能权衡
  4. 能指出历史版本的缺陷及替代方案(如静态内部类、枚举)
本题已收录答题指导

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

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