为了向传统的 Java 8 服务器工作负载提供 Java 17 级别的性能,Oracle 宣布推出 Java SE Subscription Enterprise Performance Pack (Enterprise Performance Pack)。并声称这是 JDK 8 的直接替代品,现已在 MyOracleSupport 上面向所有 Java SE 订阅客户和 Oracle 云基础设施 (OCI) 用户免费提供。
“Enterprise Performance Pack 为 JDK 8 用户提供了在 JDK 8 和 JDK 17 发布之间的 7 年时间里,为 Java 带来的重大内存管理和性能改进。这些改进包括:现代垃圾回收算法、紧凑字符串、增强的可观察性和数十种其他优化。”
Java 8 发布于 2014 年,和 Java 17 一样都是长期支持 (LTS) 版本;尽管发布距今已有近九年的历史,但仍被很多开发人员和组织所广泛应用。New Relic 发布的一份“2022 年 Java 生态系统状况报告”数据表明,Java 8 仍被 46.45% 的 Java 应用程序在生产中使用。
根据介绍,Enterprise Performance Pack 在 Intel 和基于 Arm 的系统(如 Ampere Altra)上支持 headless Linux 64 位工作负载。
Oracle 方面称,使用 Enterprise Performance Pack 的客户将可以立即看到以或接近内存或 CPU 容量运行的 JDK 8 工作负载的好处。在 Oracle 自己的产品和云服务进行的测试表明,高负载应用程序的内存和性能都提高了大约 40%。即使没有接近容量运行的 JDK 8 应用程序,也可以会看到高达 5% 的性能提升。
虽然 Enterprise Performance Pack 中包含的许多改进可以通过默认选项获得,但 Oracle 建议用户还是自己研究文档,以最大限度地提高性能并最大限度地降低内存使用率。例如,通过启用可扩展的低延迟 ZGC 垃圾收集器来提高应用程序响应能力,需要通过 -XX:+UseZGC 选项。