指令重排序是JVM为了优化指令,提高程序运行效率,在不影响单线程程序执行结果的前提下,尽可能地提高并行度.编译器.处理器也遵循这样一个目标.注意是单线程.多线程的情况下指令重排序就会给程序员带来问题. 是为了保证单线程的运行效率,可以进行指令优化,不影响单线程的执行效果 但是指令重排在多线程之中会出现问题 JVM指令重排导致Singleton双重锁定出错 public class Singleton { private static Singleton instance = null; priv…