Java代码编译器优化[已关闭]

问题描述 投票:0回答:4

我想知道 - 给定一个 java 代码,我如何才能看到 Java 编译器如何优化它?

有没有可用的 JDK 工具?

尝试用谷歌搜索,但没有找到相关内容。

java optimization
4个回答
3
投票

要查看编译器优化的内容,只需反编译字节码,例如使用 javapJD

要查看即时编译器优化的内容,激活调试日志记录(并读取反汇编的机器代码)。


2
投票

您可以使用

javap
来反汇编代码。

值得记住的是,

javac
通常很少通过优化来实现;在现代 JVM 中,大多数优化都是由“即时编译器”完成的,它将 Java 字节码转换为本机机器代码。


1
投票
javac

只会做很少的优化(如果有的话)。


Java中的优化主要是由JIT编译器在运行时完成的。 JIT 执行的优化越多,生成的代码就越好,但初始延迟也会增加。

要获取 Java 即时编译器生成的本机代码:

PrintAssembly

需要 OpenJDK 7 调试选项:

Java HotSpot VM

-XX:-CITime ---- Prints time spent in JIT Compiler. (Introduced in 1.4.0.)



0
投票
.class

文件,将它们逆向工程为 Java 代码并查看优化情况。

    

© www.soinside.com 2019 - 2024. All rights reserved.