后端岗位面试题更新 2026-08-05
在双重检查锁定(Double-Checked Locking)实现单例模式时,外层if和内层if各自的作用是什么?
招商银行·招银网络科技后端开发金融风险判断技术原理Java
考察说明
考察双重检查锁定中两层判断的职责及线程安全理解
回答思路
- 外层if用于避免不必要的加锁开销,在实例已存在时直接返回
- 内层if在获得锁后再次检查,防止多个线程同时进入临界区后重复创建实例
- 说明实例字段需用volatile修饰以禁止指令重排序
- 能解释不加volatile可能导致拿到未完全初始化对象的风险
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。