2014-07-12 22 views
5

我在想,是否有可能看到HotSpot编译器在编译给定的Java字节码类或方法时生成的实际机器代码?是否可以查看由JVM热点编译器生成的机器代码?

+0

可能的重复[如何翻译字节码机器本机代码](http://stackoverflow.com/questions/8167479/how-translate-bytecode-to-machine-native-code) –

+0

即使它是...它将不可读。 – Rahul

+0

我实际上不想用它来提高性能,只是为了让人们注意计算机体系结构课程的实际机器代码。 – Recusiwe

回答

10

是的,-XX:+UnlockDiagnosticVMOptions -XX:+PrintAssembly当它实际执行(编译)给定的字节码方法时,Hotspot虚拟机可以为您提供该信息。

有关详细信息,请参阅示例HotSpotInternals Wiki:Print Assembly。它需要一个反汇编模块(Windows上的hsdis - *。dll)。

更舒服的是使用JITWatch(但它使用HotSpot的相同基础结构)。

相关问题