jvm优化可以改变指令的顺序吗?

时间:2013-07-10 08:29:09

标签: java optimization logging jvm

我正在远程调试Java应用程序,调试器向我展示了与我预期不同的信息。源文件已正确链接。有可能,jvm优化可以改变指令的顺序吗?

2 个答案:

答案 0 :(得分:1)

这取决于。

如果JVM可以确定结果是相同的,那么JVM(尤其是Hotspot或JIT编译器)可能会更改指令。

使用Oracle JVM,您可以提供禁用JIT和Hotspot的选项-Xint,并确保执行的代码与写入的代码相同。

答案 1 :(得分:0)

例如,当远程调试时,我对代码进行了更改时遇到了不一致,而这些代码还没有推送到服务器。因此,当我在服务器上调试旧版本时,调试器有时会指向我的代码中的行,这些行是空的或者是使用不同的方法,因为它仍然指向先前相关的行号。 当我同步服务器和我的本地代码库时,一切都很好。