volatile 类型变量提供什么保证?

volatile 变量提供顺序和可见性保证例如,JVM 或者 JIT 为了获得更好的性能 

会对语句重排序但是 volatile 类型变量即使在没有同步块的情况下赋值也不会 

与其他语句重排序。 volatile 提供 happens-before 的保证确保一个线程的 

修改能对其他线程是可见的某些情况下,volatile 还能提供原子性如读 64  

数据类型 long  double 都不是原子的 volatile 类型的 double  

long 就是原子的

原文地址:https://www.cnblogs.com/programb/p/13018286.html