JMM把happens-before要求禁止的重排序分成了两种: 对于会改变程序执行结果的重排序,JMM要求编译器和处理器会禁止这种排序 对于不会改变程序执行结果的重排序,JMM对编译器和处理器不作要求