【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 对应用程序进行测试和基准测试以确定性能影响,并查明必要的优化或调整。
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除。