5
我在想,是否有可能看到HotSpot编译器在编译给定的Java字节码类或方法时生成的实际机器代码?是否可以查看由JVM热点编译器生成的机器代码?
我在想,是否有可能看到HotSpot编译器在编译给定的Java字节码类或方法时生成的实际机器代码?是否可以查看由JVM热点编译器生成的机器代码?
是的,-XX:+UnlockDiagnosticVMOptions -XX:+PrintAssembly
当它实际执行(编译)给定的字节码方法时,Hotspot虚拟机可以为您提供该信息。
有关详细信息,请参阅示例HotSpotInternals Wiki:Print Assembly。它需要一个反汇编模块(Windows上的hsdis - *。dll)。
更舒服的是使用JITWatch(但它使用HotSpot的相同基础结构)。
可能的重复[如何翻译字节码机器本机代码](http://stackoverflow.com/questions/8167479/how-translate-bytecode-to-machine-native-code) –
即使它是...它将不可读。 – Rahul
我实际上不想用它来提高性能,只是为了让人们注意计算机体系结构课程的实际机器代码。 – Recusiwe