我正在学习JMM,JVM所做的优化正在妨碍观察JMM功能。如何关闭JVM优化?
答案 0 :(得分:2)
“-Xint”选项在禁用JIT编译器的情况下运行。这是你最接近“关闭优化”。
但是,文档中没有任何内容说明这对JMM产生了什么影响。
如果您正在尝试了解 JMM,那么观察行为(即使用-Xint
进行黑盒测试)永远无法证明正面假设是正确的。特别是因为没有指定-Xint
对JMM的影响。所有测试都可以证明不同的行为,因此JMM / JLS无法保证 1 。
如果您想真正推理JMM,请使用逻辑。阅读并理解规范,并将这些知识应用到您的推理中。
1 - JVM中的模数错误,JIT编译器,硬件(!)等