【发布时间】:2010-12-02 23:22:31
【问题描述】:
有什么方法可以查看 JIT 在 JVM 中生成的本机代码吗?
【问题讨论】:
-
您确定要查看 JIT 编译的(本机)代码,还是只查看字节码?我之所以问,是因为在这里问这个问题会让人怀疑你是否真的想看原生代码……而且,对不起,我也不知道这样的工具。
-
我想查看精确的 JIT 编译的本机代码。当然,这不是我需要完成的工作,而是一种实验和调查。
-
次要框架挑战:现代 JVM 中使用的动态编译器不只有 一个 版本的编译代码;它可能开始解释,然后编译一个方法或只是它的一部分,然后可能会随着类的加载/卸载或使用模式的变化或基于性能统计数据而重新编译它多次。 (我认为它甚至可以丢弃已编译的版本并返回到解释,如果这看起来有益的话。)所以你可能不仅在不同的机器上得到不同的代码,甚至在同一台机器上的不同运行,但在不同的时间在 相同运行。