一、作用
1、保证内存可见性
2、防止指令重排
此外需注意volatile并不保证操作的原子性。
指令重排序是JVM为了优化指令,提高程序运行效率,在不影响单线程程序执行结果的前提下,尽可能地提高并行度。编译器、处理器也遵循这样一个目标。注意是单线程。多线程的情况下指令重排序就会给程序员带来问题。
java文件被编译成为了.class文件的时候,其实就是转化为了一堆的jvm指令。
本文共 241 字,大约阅读时间需要 1 分钟。
一、作用
1、保证内存可见性
2、防止指令重排
此外需注意volatile并不保证操作的原子性。
指令重排序是JVM为了优化指令,提高程序运行效率,在不影响单线程程序执行结果的前提下,尽可能地提高并行度。编译器、处理器也遵循这样一个目标。注意是单线程。多线程的情况下指令重排序就会给程序员带来问题。
java文件被编译成为了.class文件的时候,其实就是转化为了一堆的jvm指令。
转载于:https://my.oschina.net/u/2984281/blog/3041953