在当今的JVM中,Java虚拟机的NOP操作码有什么实际用途?如果是这样,在哪些情况下会以字节码生成NOP

我什至会对看到一个用NOP编译成字节码的Java代码示例感兴趣。

更新

BCEL的MethodGen类说,



我猜想其他字节码生成库在同一条船上,正如公认的答案所指出的那样。

最佳答案

一些NOP字节码用例用于class文件的转换,优化和由Apache BCELASMFindBugsPMDBCEL manual等工具执行的静态分析。Apache false sharing涉及NOP的某些用途,用于分析和优化。

JVM可以使用NOP字节码进行JIT优化,以确保处于同步安全点的代码块正确对齐以避免 javac

对于使用包含NOP字节码的JDK class编译器编译的一些示例代码,这是一个有趣的挑战。但是,我怀疑编译器是否会生成自ojit_a以来包含NOP字节码的任何the bytecode instruction stream is only single-byte aligned文件。我很好奇看到这样的例子,但我自己也想不到。

关于java - JVM字节码中的NOP用于什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10422086/

10-14 04:35