voliate为什么不能修饰有递增的变量呢 首先voliate只能保证可见性:线程每次读取的值都是最新的;不能保证原子性。java中只对基本的类型保证了原子性,比如i++这些分为三步:读取,修改,写入,每一步都是一个原子,总体不是一个原子,所以就算每一次都读取到最新的值那么也有问题