Eclipse OpenJ9 v0.33.0 现已发布,Eclipse OpenJ9 是 OpenJDK 的 JVM,由 IBM 创建并捐赠给 Eclipse 基金会。此 Java 虚拟机经过优化,具备占用空间小、启动速度快以及吞吐量高等优势。
自 0.30.0 版以来,此版本包含以下新功能和显着更改:
- 新的二进制文件和对受支持环境的更改
- JITServer technology feature 更新
- AIX 上所需的 XL C++ 运行时
- Linux 参考编译器更新到 gcc 10.3
- 增加 JIT 编译线程的最大数量
- x64 平台上的默认操作系统堆栈大小增加
- Control groups v2 支持
- 支持 OpenSSL 3.0.x
特性和变化
二进制文件和支持的环境
OpenJ9 版本 0.33.0 支持 OpenJDK 8、11、17 和 18。
OpenJ9 Windows builds for OpenJDK 8 现在使用 Microsoft Visual Studio 2017 编译。构建中包含的 Visual Studio 可再发行文件已更新以匹配。
要了解有关 OpenJ9 版本支持的更多信息,包括 OpenJDK 级别和平台支持,可参阅支持的环境。
JITServer technology feature 更新
JITServer technology feature 已更新以提供以下新功能,默认情况下禁用:
- 在服务器上缓存 AOT 编译的方法。当客户端请求编译以前缓存的方法时,AOT 缓存会提高 CPU 使用率。使用
-XX:+JITServerUseAOTCache
命令行选项启用此功能。 - 向遵循 OpenMetrics 标准的监控工具提供指标。以下指标可用于 JITServer 服务器:CPU 使用率、可用内存、连接的客户端数和活动编译线程数。使用
-XX:+JITServerMetrics
命令行选项启用此功能。
AIX 上所需的 XL C++ 运行时
AIX OpenJ9 构建现在需要 IBM XL C++ Runtime 16.1 版。OpenJDK 17 已经需要这个版本,现在从 11.0.16 开始也需要此功能,以适应 HarfBuzz text shaping 库的安全更新。
Linux 参考编译器更新到 gcc 10.3
适用于所有平台的 Linux 构建现在使用 gcc 10.3 而不是 gcc 7.5。可参见构建环境列表。
增加 JIT 编译线程的最大数量
JIT 编译线程的最大数量从 7 增加到 15。如果启用 JITServer 功能,则服务器上的 JIT 编译线程的最大数量进一步增加,达到 999。你可以通过指定-XcompilationThreads
命令行选项设置要使用的编译线程数。
x64 平台上的默认操作系统堆栈大小增加
Windows x64、macOS x64 和 Linux x64 平台上的默认操作系统堆栈大小从 256 KB 增加到 512 KB,以适应矢量支持。你可以使用 -Xmso 选项更改操作系统堆栈大小。
Control groups v2 支持
Linux 内核有两个 control groups (cgroups) 变体: v1 和 v2。许多 Linux 操作系统正逐渐从 cgroups v1 过渡到 v2 作为它们的默认选择。现在,OpenJ9 添加了对 cgroups v2 的支持,这与对 cgroups v1 的支持完全相同。
支持 OpenSSL 3.0.x
JITServer technology feature 现在支持 OpenSSL 3.0.x。有关 OpenSSL 支持的更多信息,请参阅Cryptographic operations
。
已知问题和完整发布信息
要查看已知问题以及 Eclipse OpenJ9 v0.32.0 和 v0.33.0 版本之间的完整更改列表,可参阅发行说明。
更新公告:https://www.eclipse.org/openj9/docs/version0.33/