Java volatile 关键字详解

Java volatile 关键字详解

1. volatile 的作用与原理
  • 可见性保证
    volatile 修饰的变量在修改后,会立即同步到主内存,其他线程读取时直接从主内存获取最新值,确保多线程环境下的可见性。例如:

    volatile boolean flag = false;
    

    当线程A修改flagtrue后,线程B能立即感知到变化。

  • 禁止指令重排序
    volatile 通过插入内存屏障(Memory Barrier)禁止编译器和处理器对指令进行重排序,保证代码执行顺序符合预期。例如双重检查锁定(DCL)中,volatile 防止对象初始化未完成就被使用:

    private volatile stati

你可能感兴趣的:(java高频,java,单例模式,开发语言)