volatile用来修饰变量,它的作用时防止编译器优化。更加通俗的理解是,你不用担心你调用的变量不管是因为还在缓冲区由于优化而没有及时的变化,调用不到目前的变量的值。经过volatile修饰的变量,每次读它的值都是从最原始的位置读取,也就是说每次读到的都是最新的值,写也同样,立马修改它的值。