首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Java 哪个版本的性能最佳?

作者 | 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 对应用程序进行测试和基准测试以确定性能影响,并查明必要的优化或调整。

  • 发表于:
  • 原文链接https://page.om.qq.com/page/Oi0hMQeEphO_PV40ZDG3WAmA0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券