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

在双重检查锁定(Double-Checked Locking)实现单例模式时,外层if和内层if各自的作用是什么?

招商银行·招银网络科技后端开发金融风险判断技术原理Java

考察说明

考察双重检查锁定中两层判断的职责及线程安全理解

回答思路

  1. 外层if用于避免不必要的加锁开销,在实例已存在时直接返回
  2. 内层if在获得锁后再次检查,防止多个线程同时进入临界区后重复创建实例
  3. 说明实例字段需用volatile修饰以禁止指令重排序
  4. 能解释不加volatile可能导致拿到未完全初始化对象的风险
本题已收录答题指导

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

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