我想知道 - 给定一个 java 代码,我怎样才能看到 Java 编译器如何优化它?
有没有 JDK 工具可以解决这个问题?
试图谷歌,但没有任何相关的出现。
我想知道 - 给定一个 java 代码,我怎样才能看到 Java 编译器如何优化它?
有没有 JDK 工具可以解决这个问题?
试图谷歌,但没有任何相关的出现。
javac
如果有的话,只会做很少的优化。
Java 中的优化主要由 JIT 编译器在运行时完成。JIT 执行的优化越多,生成的代码就越好,但初始延迟也会增加。
要获取 Java 即时编译器生成的本机代码:PrintAssembly需要 OpenJDK 7
调试选项:Java HotSpot VM
-XX:-CITime ---- Prints time spent in JIT Compiler. (Introduced in 1.4.0.)
有一些工具可以将字节码转换回 Java 代码。您可以编译代码,获取.class
文件,将它们逆向工程为 java 代码并查看优化。