Red Hat build of OpenJDK 17.0.2 发行注记


Red Hat build of OpenJDK 17

Red Hat Customer Content Services

摘要

本文档概述了红帽构建的 OpenJDK 17 中的新功能,以及潜在的已知问题列表和可能的临时解决方案。

前言

Open Java Development Kit (OpenJDK)是 Java Platform, Standard Edition (Java SE)的一个免费的开源实现。红帽构建的 OpenJDK 在三个版本中提供:8u、11u 和 17u。

红帽构建的 OpenJDK 软件包在 Red Hat Enterprise Linux 和 Microsoft Windows 上提供,并作为红帽生态系统目录中的 JDK 和 JRE 提供。

提供有关红帽构建的 OpenJDK 文档的反馈

要报告错误或改进文档,请登录到 Red Hat JIRA 帐户并提交问题。如果您没有 Red Hat Jira 帐户,则会提示您创建一个帐户。

流程

  1. 单击以下链接 以创建 ticket
  2. Summary 中输入问题的简短描述。
  3. Description 中提供问题或功能增强的详细描述。包括一个指向文档中问题的 URL。
  4. Submit 创建问题,并将问题路由到适当的文档团队。

使开源包含更多

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。我们从这四个术语开始:master、slave、黑名单和白名单。由于此项工作十分艰巨,这些更改将在即将推出的几个发行版本中逐步实施。详情请查看 CTO Chris Wright 的信息

第 1 章 红帽构建的 OpenJDK 支持政策

红帽在其产品中支持选择版本的 OpenJDK 的主版本。为了实现一致性,这些版本与指定为长期支持 (LTS) 的 Oracle JDK 版本类似。

自首次引入该版本起,红帽构建的 OpenJDK 主版本将最少提供六年的支持。如需更多信息,请参阅 OpenJDK 生命周期和支持政策

注意

RHEL 6 于 2020 年 11 月结束其生命周期。因此,红帽构建的 OpenJDK 不支持 RHEL 6 作为支持的配置。

第 2 章 与上游 OpenJDK 17 的不同

Red Hat 在 Red Hat Enterprise Linux 中构建 OpenJDK 包含了很多来自 OpenJDK 上游发行版的结构更改。红帽构建的 Microsoft Windows 版本尝试尽快遵循 Red Hat Enterprise Linux 更新。

以下列表详细介绍了最显著的 OpenJDK 17 更改:

  • FIPS 支持。Red Hat build of OpenJDK 17 会自动检测 RHEL 是否处于 FIPS 模式,并自动配置 Red Hat build of OpenJDK 17 以在该模式下运行。此更改不适用于适用于 Microsoft Windows 的红帽构建的 OpenJDK 构建。
  • 加密策略支持。Red Hat build of OpenJDK 17 从 RHEL 系统配置获取启用的加密算法和密钥大小限制列表。这些配置组件由传输层安全(TLS)加密协议、证书路径验证和任何签名的 JAR 使用。您可以设置不同的安全配置集来平衡安全性和兼容性。此更改不适用于适用于 Microsoft Windows 的红帽构建的 OpenJDK 构建。
  • RHEL 上的红帽构建的 OpenJDK 会动态链接到原生库,如 zlib 用于归档格式支持,libjpeg-turbolibpnggiflib 用于镜像支持。RHEL 还动态链接 HarfbuzzFreetype 用于字体渲染和管理。此更改不适用于适用于 Microsoft Windows 的红帽构建的 OpenJDK 构建。
  • src.zip 文件包含红帽构建的 OpenJDK 附带的所有 JAR 库的源。
  • RHEL 上的红帽 OpenJDK 构建使用系统范围的时区数据文件作为时区信息的来源。
  • RHEL 上的红帽构建的 OpenJDK 使用系统范围的 CA 证书。
  • Microsoft Windows 上的红帽构建的 OpenJDK 包括 RHEL 的最新可用时区数据。
  • Microsoft Windows 上的红帽构建的 OpenJDK 使用 RHEL 的最新可用 CA 证书。

第 3 章 OpenJDK 功能

最新的 Red Hat build of OpenJDK 17 发行版本可能包括新功能。另外,最新版本可能会增强、弃用或删除来自以前红帽构建的 OpenJDK 17 版本的功能。

注意

有关所有其他更改和安全修复,请参阅 OpenJDK 17.0.2 发行版本

3.1. 新功能及功能增强

查看以下发行注记以了解红帽构建的 OpenJDK 17.0.2 发行版本中包含的新功能和功能增强:

IANA 时区数据库

互联网编号分配机构(IANA)将其时区数据库更新至 2021c 版本。Red Hat OpenJDK 日期和时间库依赖于 IANA 的时区数据库来确定全球各种区域的本地时间。

注意

2021b 发行版本的 Time Zone Database 更新了时区规则,这些规则在 1970 之前存在。有关 2021b 发行版本的更多信息,请参阅 2021b 发布 tz 代码和数据

有关 IANA 2021c Time Zone 数据库发行版本的更多信息,请参阅 JDK-8274857

有关 IANA 时区数据库的更多信息,请参阅 IANA 网站上的时区数据库。https://www.iana.org/time-zones

3.2. OpenJDK 的改进

Red Hat build of OpenJDK 17 为最初在以前版本的 OpenJDK 版本中创建的功能提供改进。

OpenJDK 对 Microsoft Windows 版本进行标识

在红帽构建的 OpenJDK 17 版本前,从 System.getProperty () 检索的 os.name 系统属性,HotSpot 错误日志会在 Microsoft Windows 11 和 Windows Server 2022 上报告 Windows 10.0 on Microsoft Windows 11 和 Windows Server 2019。红帽构建的 OpenJDK 现在标识了这些系统上的正确版本。

系统属性行为更改

红帽构建的 OpenJDK 17 将 file.encoding 系统属性的行为恢复到与大多数支持的平台上的红帽构建的 OpenJDK 11 相同的状态,但 macOS 除外。这个变化改进了系统属性在 Microsoft Windows 平台上的行为方式,系统区域设置和用户区域设置有所不同。

有关对 file.encoding 系统属性的行为更改的更多信息,请参阅 JDK-8275343

向量类更新

Red Hat build of OpenJDK 17 更新 java.util.Vector 类,因此此类现在会在 deserialization 过程中报告使用 java.io.ObjectInputStream.GetField.get (name, object) 方法生成的任何 ClassNotFoundException 信息。当向量的类(嵌套在元素内)时,这些异常消息不会被找到。

java.util.Vector 类更新之前,当之前详细事件发生时,类会报告任何 StreamCorruptedException 信息。StreamCorruptedException 消息没有提供有关缺失类的信息。

有关 java.util.Vector 类的更新的更多信息,请参阅 JDK-8277157

z Garbage Collector 程序错误修复

在红帽构建的 OpenJDK 17 更新前,ZGC 经历了 Concurrent Process Non-strong References times,这会导致使用 ZGC 进行内存管理的 Java 应用程序的延迟和吞吐量问题。您可以通过在命令行界面中输入 -Xlog:gc*,针对垃圾收集器(GC)日志来确定这些长度的时间。

Red Hat build of OpenJDK 17 发行版本删除了造成这些问题的错误,因此 ZGC 现在可以获得较短的 Concurrent Process Non-strong References 时间。

有关 ZGC 程序错误修复的更多信息,请参阅 JDK-8277533

3.3. 弃用和删除的功能

查看以下发行注记以了解在 Red Hat build of OpenJDK 17.0.2 发行版本中已弃用或删除的预先存在的功能:

Google GlobalSign root certificate

Red Hat build of OpenJDK 17.0.2 从 cacerts 密钥存储中删除以下 root 证书:

别名名称
globalsignr2ca [jdk]
可区分名称
CN=GlobalSign, O=GlobalSign, OU=GlobalSign Root CA - R2

有关删除 Google GlobalSign root 证书的更多信息,请参阅 JDK-8272535

第 4 章 已知问题

Red Hat build of OpenJDK 17 可能包括已知问题。其中一些已知问题可能存在解决方案。

调试软件包移到 RHEL 8.5 CodeReady Linux Builder (CRB)存储库

描述

RHEL 8.5 将 java-17-openjdk-slowdebug-debuginfojava-17-openjdk-fastdebug-debuginfo 软件包移到 CodeReady Linux Builder (CRB)存储库,其中 java-openjdk-slowdebugjava-openjdk-fastdebug 软件包已位于。此存储库包含开发人员软件包。红帽计划将这些软件包移到 RHEL 8.5 生命周期中的 CRB 存储库。但是,不会发生此移动。

当这些软件包位于 AppStream 存储库中时,您可能已安装了 java-17-openjdk-slowdebug-debuginfojava-17-openjdk-fastdebug-debuginfo 软件包。

您可以通过在 CLI 中运行以下命令来检查是否安装了 java-17-openjdk-slowdebug-debuginfojava-17-openjdk-fastdebug-debuginfo 软件包:

Copy to Clipboard Toggle word wrap
$ rpm -qa | grep java-.*debug-debuginfo

您可以继续使用 java-17-openjdk-slowdebug-debuginfojava-17-openjdk-fastdebug-debuginfo 软件包用于 Java 应用程序上的调试目的,但您必须启用 CRB 存储库来接收这些软件包的更新。

临时解决方案

如果安装了 java-17-openjdk-slowdebug-debuginfojava-17-openjdk-fastdebug-debuginfo 软件包,则需要选择以下选项之一:

  • 在 CLI 中运行以下命令来卸载这些软件包:

    Copy to Clipboard Toggle word wrap
    $ dnf remove java-17-openjdk-<package-name>
  • 在 CLI 中运行以下命令来启用 CRB 存储库:

    Copy to Clipboard Toggle word wrap
    $ dnf config-manager --set-enabled rhel-8-crb-debug-rpms
    重要

    红帽不完全支持 CRB 仓库中包含的软件包。确保您了解在 Java 应用程序中使用任何不支持的调试软件包的潜在风险。

有关 RHEL 8.5 上的 CRB 存储库的更多信息,请参阅 Red Hat Enterprise Linux 文档中的 软件包清单 指南。

第 5 章 与本发行版本相关的公告

以下公告已针对程序错误修正以及本发行版本中包括的 CVE 修复:

更新于 2024-05-04

法律通告

Copyright © 2024 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat, Inc.