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