Java面试题10-如何理解volatile关键字
在并发领域中,存在三大特性:原子性、有序性和可见性。
volatile关键字用来修饰对象的属性,在并发环境下可以保证这个属性的可见性。
对于加了volatile关键字的属性,在对这个属性进行修改时,会直接将CPU高级缓存中的数据写回到主内存,对这个变量的读取也会直接从主内存中读取,从而保证了可见性,底层是通过操作系统的内存屏障来实现的,由于使用了内存屏障,所以会禁止指令重排,所以也就保证了有序性。
在很多并发场景下,如果用好volatile关键字可以很好的提高执行效率。