volatile的禁止指令重排
处理器为了考虑程序运行的高效性,采用了指令重排 但是有一点,要考虑数据之间的依赖性(先有谁,后有谁)
可以参考下面关于单例模式的博客,之前还不懂单例模式为啥要加禁止指令重排

也就是说 instance的值此时是不等于null 但是对象还没有初始化 return 了一个空对象

解决方法

处理器为了考虑程序运行的高效性,采用了指令重排 但是有一点,要考虑数据之间的依赖性(先有谁,后有谁)
可以参考下面关于单例模式的博客,之前还不懂单例模式为啥要加禁止指令重排

也就是说 instance的值此时是不等于null 但是对象还没有初始化 return 了一个空对象

解决方法
