我应该始终使用最新的 javac 编译器来编译 Java 代码吗?

2023-12-08

我即将把tomcat安装从6.0版本升级到8.5版本,并将JVM从6升级到8。我们的java代码目前是用java 6编译的。

我知道在最新的 JVM 上运行 java 代码在性能方面始终是一个好主意(更不用说在安全方面)。这样,与 JVM 6 相比,使用 java 1.6 编译的某些代码在 JVM 8 上可能运行得更快。

但是编译怎么样?通过使用 java 8 编译器编译用 java 6 编写的代码(即仅使用 java 6 功能)是否可以获得任何好处? IE。当使用 java 8(目标为 8)而不是 java 6 编译代码时,旨在使用 java 1.6 进行编译的代码在 JVM 8 上运行得更快吗? java 8 的字节码与 java 6 相比是否进行了优化?

关于目标标志。与使用 java 6 编译器编译代码相比,使用针对 java 6 的 java 8 编译器编译 java 6 代码(当代码仍要在 JVM 6 上运行时)有什么好处吗?


与使用 java 6 编译器编译代码相比,使用针对 java 6 的 java 8 编译器编译 java 6 代码有什么好处吗?

No.

绝对没有性能提升,因为 java 编译器不执行any一种优化,甚至不是明显的优化。

可以对生成的字节码执行的任何优化javac一旦您的应用程序运行,JIT 引擎就会完成此操作。

编辑:看看 pveentjer 评论,一些简单的优化(例如恒定分辨率)是由 javac 执行的。但我仍然相信,关于 6 和 8 之间差异的答案仍然是“否”。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我应该始终使用最新的 javac 编译器来编译 Java 代码吗? 的相关文章

随机推荐