Java jvm优化能否改变指令顺序?
我正在远程调试Java应用程序,调试器向我显示了与预期不同的信息。源文件链接正确。jvm优化是否可能改变指令顺序?这取决于 JVM(特别是热点或JIT编译器)可能会更改指令,如果它能够确定结果是相同的 使用Oracle JVM,您可以提供选项Java jvm优化能否改变指令顺序?,java,optimization,logging,jvm,Java,Optimization,Logging,Jvm,我正在远程调试Java应用程序,调试器向我显示了与预期不同的信息。源文件链接正确。jvm优化是否可能改变指令顺序?这取决于 JVM(特别是热点或JIT编译器)可能会更改指令,如果它能够确定结果是相同的 使用Oracle JVM,您可以提供选项-Xint,该选项禁用JIT和热点,并且您可以确保执行的代码与写入的代码相同。这取决于具体情况 JVM(特别是热点或JIT编译器)可能会更改指令,如果它能够确定结果是相同的 使用Oracle JVM,您可以提供选项-Xint,该选项将禁用JIT和Hotspo
-Xint
,该选项禁用JIT和热点,并且您可以确保执行的代码与写入的代码相同。这取决于具体情况
JVM(特别是热点或JIT编译器)可能会更改指令,如果它能够确定结果是相同的
使用Oracle JVM,您可以提供选项
-Xint
,该选项将禁用JIT和Hotspot,并且您可以确保执行的代码与写入的代码相同。例如,在远程调试时,我在对代码进行更改时遇到了不一致的情况,这些更改尚未推送到服务器。因此,当我在服务器上调试旧版本时,调试器有时会指向代码中的空行或其他方法中的行,因为它仍然引用以前相关的行号。
当我同步服务器和本地代码库时,一切又恢复正常。例如,远程调试时,我对代码进行更改时遇到了不一致的情况,这些更改尚未推送到服务器。因此,当我在服务器上调试旧版本时,调试器有时会指向代码中的空行或其他方法中的行,因为它仍然引用以前相关的行号。
当我同步服务器和本地代码存储库时,一切又恢复正常。日志库通常使用某种形式的同步,因此日志指令不太可能被重新排序。日志库通常使用某种形式的同步,因此日志指令不太可能被重新排序。