Мне было интересно, можно ли взглянуть на фактический машинный код, который генерирует компилятор HotSpot при компиляции данного класса или метода байт-кода Java?Можно ли просмотреть машинный код, сгенерированный компилятором JVM hotspot?
5
A
ответ
10
Да, с -XX:+UnlockDiagnosticVMOptions -XX:+PrintAssembly
Hotspot VM может предоставить вам эту информацию, когда она фактически выполняет (компилирует) данный метод байт-кода.
Подробнее см., Например, HotSpotInternals Wiki:Print Assembly. Для этого требуется модуль дизассемблера (hsdis - *. Dll для Windows).
Чуть более удобно использовать JITWatch (но он использует ту же инфраструктуру от HotSpot).
Возможный дубликат [How Translate ByteCode to Machine Native Code] (http://stackoverflow.com/questions/8167479/how-translate-bytecode-to-machine-native-code) –
Даже если это ... это не будет читаемым. – Rahul
На самом деле я не хочу использовать его для повышения производительности, просто чтобы взглянуть на фактический машинный код для курса компьютерной архитектуры. – Recusiwe