我想更好地了解HotSpot在运行时可能为我的Java代码生成的优化。
有没有办法看到HotSpot运行一段时间后使用的优化代码?
答案 0 :(得分:10)
您需要使用选项-XX:+PrintAssembly
和-XX:UnlockDiagnosticVMOptions
启动JVM,但PrintAssembly需要JVM具有hsdis二进制文件(HotSpot反汇编程序)。由于许可证不兼容,hsdis二进制文件不随JVM一起分发,因此您需要compile hsdis yourself或找到prebuilt hsdis binary from an unofficial web site。
为了理解输出,像JITWatch这样的工具很有用。按照its instructions将调试信息写入日志文件,可以在JITWatch中进行分析。
答案 1 :(得分:1)