Java 哪个版本的性能最佳?

【CSDN 编者按】文作者通过多方调查,分析最新版本的 Java 并不一定提供最佳性能。

原文链接:https://talesfromthedatacenter.com/2023/06/what-version-of-java-gives-the-best-performance/

未经允许,禁止转载!

作者 | admin   译者 | 弯月

责编 | 夏萌

出品 | CSDN(ID:CSDNnews)

注意,Java 的性能受到多种因素的影响,在不同版本的软件中可能会有不同的表现。出乎开发人员和应用程序所有者意料的是,最新版本的 Java 并不一定提供最佳性能。

  • 编译器增强:Java 每次发布新版本,都会改进即时(JIT)编译器。该编译器负责在运行时优化字节码,因此它的提升不仅可以更好地优化代码,而且还可以改进内存管理并提升特定类型应用程序的性能。

  • 垃圾收集算法:在 Java 中,垃圾收集器负责释放不再使用的内存。每个版本的 Java 都有可能修改垃圾收集算法,以提高垃圾收集的效率并最大限度地减少垃圾收集活动造成的暂停。这些修改会极大地影响内存密集型 Java 应用程序的性能。

  • JVM 调整:随着 Java 虚拟机(JVM)实现的新版本发布,各个供应商可以自行优化和调整。这些优化包括内存管理、线程处理、同步机制或其他可以提高特定工作负载或场景性能的组件的变更。Oracle 针对 Java 1.8 的性能增强就是一个很好的例子。

  • 错误修复和性能增强:用户经常提供反馈和实际的使用场景,以帮助改进 Java 的新版本。通常,这类更新会修复错误并增强性能,从而提高稳定性和整体性能。

  • 新功能和 API:开发人员可以利用最新版的 Java 来提升增强应用程序的性能,包括引入新功能、API 和库。这些新功能和 API 可以提供更有效的方法来处理特定任务,并帮助开发人员更有效地优化代码。开发人员可以利用这些新功能和 API 提高应用程序的整体性能。

最近,我做了一些调查,最后获得的结果非常令人惊讶!为了方便评估,我在 Ampere Arm 服务器上对 CPU 进行了基本的检查。我使用的操作系统是 Oracle Linux 8,而且还安装了最新版本的 OpenJDK 1.8、Oracle JDK 1.8、性能增强版的 Oracle JDK 1.8、Oracle JDK 11 和 Oracle JDK 17 进行评估。在Oracle JDK 在该列表中出现了两次,这是因为 2022 年 10 月 Oracle 发布了增加版的Oracle JDK 1.8,并承诺为旧版 JDK 1.8 应用程序提供 JDK 17 的性能。Java SE 订阅和 OCI 提供了该包。

这个简单的测试的结果如下:

  • 能增强版的Oracle 1.8 的性能最好,OpenJDK 最差,Oracle的 Performance JDK 大约快了 28%!对于应用程序来说,这是一个巨大的飞跃!

  • Oracle 的 JDK 17 仅慢了 2%,这种差异在一些系统上甚至不会被注意到。

  • 鉴于 Java 提供的所有增强功能,我认为 JDK 17 将成为新应用程序的首选。

值得注意的是,虽然新版的 Java 始终在努力提升性能,但在某些情况下,特定应用程序或代码可能会由于 JVM 行为或其他因素的变化而出现性能下降的现象。因此,你应该使用不同版本的 Java 对应用程序进行测试和基准测试以确定性能影响,并查明必要的优化或调整。

本文文字及图片出自 CSDN

你也许感兴趣的:

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注