我想知道 - 给定一个 java 代码,我如何才能看到 Java 编译器如何优化它?
有没有可用的 JDK 工具?
尝试用谷歌搜索,但没有找到相关内容。
要查看编译器优化的内容,只需反编译字节码,例如使用 javap 或 JD。
要查看即时编译器优化的内容,激活调试日志记录(并读取反汇编的机器代码)。
您可以使用
javap
值得记住的是,
javac
只会做很少的优化(如果有的话)。
要获取 Java 即时编译器生成的本机代码:
需要 OpenJDK 7 调试选项:
-XX:-CITime ---- Prints time spent in JIT Compiler. (Introduced in 1.4.0.)
.class
文件,将它们逆向工程为 Java 代码并查看优化情况。