请解释 Java 中 volatile 关键字如何保证可见性和有序性,并说明其不能保证原子性的原因。
考察说明
考察对 volatile 语义、内存模型及并发安全边界的理解
回答思路
- 准确说明 volatile 保证可见性的内存语义(写回主内存、失效其他缓存)
- 解释 volatile 如何通过禁止指令重排保证有序性(内存屏障)
- 明确 volatile 不保证操作原子性,并用自增示例说明
- 对比 synchronized 或原子类的使用场景
本题已收录答题指导
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。