如何在优化后看到HotSpot生成的代码?

8 java optimization jvm-hotspot

我想更好地了解HotSpot在运行时可能为我的Java代码生成的优化.

有没有办法看到HotSpot运行一段时间后使用的优化代码?

Esk*_*ola 10

您需要先从选项JVM -XX:+PrintAssembly-XX:UnlockDiagnosticVMOptions,但PrintAssembly要求JVM有hsdis二进制(热点反汇编).由于许可证不兼容,hsdis二进制文件不随JVM一起分发,因此您需要自己编译hsdis从非官方网站查找预构建的hsdis二进制文件.

为了理解输出,像JITWatch这样的工具很有用.按照其说明将调试信息写入日志文件,该日志文件可在JITWatch中进行分析.