Java中有两个编译期: 1、编译期:调用 javac 命令将Java代码编译成Java字节码; 2、运行期:JIT 编译器将字节码编译成机器码。 指令重排 指令重排是指在程序执行过程中, 为了性能考虑, 编译器和CPU可能会对指令重新排序。