【问题标题】:How can I see the code that HotSpot generates after optimizing? [duplicate]如何查看 HotSpot 优化后生成的代码? [复制]
【发布时间】:2010-12-05 19:48:11
【问题描述】:

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

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

【问题讨论】:

    标签: java optimization jvm-hotspot


    【解决方案1】:

    您需要使用选项 -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 中进行分析。

    【讨论】:

    • 是的,-XX:+PrintOptoAssembly 是关键。
    • 注意:PrintAssembly 是新标志。 PrintOptoAssembly 是旧标志,我认为它需要 JVM 的调试版本。
    【解决方案2】:
    猜你喜欢
    • 2021-06-23
    • 2011-05-26
    • 2011-03-26
    • 2017-12-17
    • 2013-04-20
    • 2011-08-01
    • 1970-01-01
    • 2013-04-22
    • 1970-01-01
    相关资源
    最近更新 更多