gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 06:57:45 25 4
gpt4 key购买 nike

我即将将 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 上运行时)有什么好处吗?

最佳答案

Is anything gained by compiling java 6 code with a java 8 compiler targeted to java 6 compared to if the code was compiled with a java 6 compiler?

没有。

绝对没有性能提升,因为 java 编译器不执行任何类型的优化,甚至不执行明显的优化。

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

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

关于java - 我应该始终使用最新的 javac 编译器来编译 Java 代码吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41484117/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com