家喻户晓,Java 在不同软件版本中的性能可能存在差别,并且这种差别会受到许多因素的影响。
对于开发人员和应用程序所有者来说,他们常常会遇到一些出其不意的乏味状况,比方 最新版本的 Java 并不一定领有最佳的性能。
- 编译器加强 —— 每次 Java 版本更新,均会对其即时编译器(JIT)进行优化降级。该编译器次要负责运行时的字节码优化,其降级优化将带来代码优化效力的晋升,内存治理的改进,以及特定利用类型性能的加强。
- 垃圾收集算法 —— 在 Java 中,垃圾收集器的职责是治理并回收无用内存,其在内存治理方面扮演着重要角色。随着 Java 版本的迭代降级,垃圾收集算法也在继续优化,以期晋升垃圾收集效率,并最大水平升高由此产生的中断。这些优化对于内存密集型 Java 应用程序的性能体现产生了显著影响。
- JVM 调整 —— 随着新版本的 Java 虚拟机(JVM)的公布,各个供应商都能够对其进行优化和调整。这些优化策略可能涵盖内存治理、线程解决、同步机制等环节的改进,旨在晋升特定工作负载或场景下的效力。Oracle 对 Java 1.8 所做的性能加强就是一个典型的案例。
- 谬误修复和性能加强 —— 用户常常通过反馈和理论应用状况,以帮忙改良 Java 的新版本。这些更新次要着眼于问题修复和性能晋升,旨在加强零碎稳定性和整体运行效率。
- 新性能和 AP —— 开发者可借助最新版 Java 的力量,晋升应用程序的运行效力,其中可能蕴含新的性能、接口和库。这些新增内容为解决特定工作提供了更无效的形式,同时也让开发者能更好地优化他们的代码。通过使用这些新的性能和接口,开发者无望晋升应用程序的整体性能。
最近,有人要求我提供一些更为迅速的证据,我得出的后果真的让我大吃一惊!
为了进行评估,我在 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://talesfromthedatacenter.com/2023/06/what-version-of-ja…
作者:admin
译者:阮煜茜
出品:Masutaa 巨匠
对于 Masutaa
Masutaa 是个互联网从业者自在合作交流平台,链接行业内 TOP10% 人才!目前平台上曾经有将近 400 名互联网尖端人才,其中近 70% 的从业者从业年限超 3 年。
在这个平台上,你有机会取得近程我的项目,也可实现天文套利,成为数字游民!