【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 对应用程序进行测试和基准测试以确定性能影响,并查明必要的优化或调整。
推荐阅读
友情提醒: 请尽量登录购买,防止付款了不发货!
QQ交流群:226333560 站长微信:qgzmt2