2014-07-12 95 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的相同基礎結構)。

相關問題