Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/344.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java jvm优化能否改变指令顺序?_Java_Optimization_Logging_Jvm - Fatal编程技术网

Java 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

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

这取决于

JVM(特别是热点或JIT编译器)可能会更改指令,如果它能够确定结果是相同的

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

这取决于具体情况

JVM(特别是热点或JIT编译器)可能会更改指令,如果它能够确定结果是相同的


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

例如,在远程调试时,我在对代码进行更改时遇到了不一致的情况,这些更改尚未推送到服务器。因此,当我在服务器上调试旧版本时,调试器有时会指向代码中的空行或其他方法中的行,因为它仍然引用以前相关的行号。
当我同步服务器和本地代码库时,一切又恢复正常。

例如,远程调试时,我对代码进行更改时遇到了不一致的情况,这些更改尚未推送到服务器。因此,当我在服务器上调试旧版本时,调试器有时会指向代码中的空行或其他方法中的行,因为它仍然引用以前相关的行号。
当我同步服务器和本地代码存储库时,一切又恢复正常。

日志库通常使用某种形式的同步,因此日志指令不太可能被重新排序。日志库通常使用某种形式的同步,因此日志指令不太可能被重新排序。