Red Hat build of OpenJDK 8.0.352 发行注记


Red Hat build of OpenJDK 8

Red Hat Customer Content Services

摘要

红帽构建的 OpenJDK 8.0.352 发行注记 文档概述了红帽构建的 OpenJDK 8 中的新功能以及潜在的已知问题列表和可能的临时解决方案。

前言

OpenJDK(Open Java Development Kit)是 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 的主版本。为实现一致性,这些版本与 Oracle JDK 的长期支持(LTS)指定的版本相同。

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

注意

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

第 2 章 与上游 OpenJDK 8 的不同

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

以下列表详细介绍了最显著的 OpenJDK 8 构建变化:

  • FIPS 支持。Red Hat build of OpenJDK 8 会自动检测 RHEL 是否处于 FIPS 模式,并自动配置 Red Hat build of OpenJDK 8 以在该模式下运行。此更改不适用于适用于 Microsoft Windows 的红帽构建的 OpenJDK 构建。
  • 加密策略支持。红帽构建的 OpenJDK 8 从 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 章 Red Hat build of OpenJDK 8.0.352 发行注记

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

注意

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

红帽构建的 OpenJDK 新功能及改进

查看以下发行注记以了解 Red Hat build of OpenJDK 8.0.352 发行版本提供了新功能和功能增强:

引用对象更改和配置

从红帽构建的 OpenJDK 8.0.352 开始,您无法克隆 Reference 对象。

如果您试图克隆引用对象,java.lang.ref.Reference::clone 方法会抛出 CloneNotSupportedException 信息。

如果要复制现有的 Reference 对象,则必须使用适当的 Reference 子类的构造器来创建 Reference 对象。这样可确保新的 Reference 对象包含与 target Reference 对象相同的引用和引用队列。

对于红帽构建的 OpenJDK 8.0.352 发行版本,java.lang.ref.Reference.enqueue 方法更改了行为。当应用程序代码调用 java.lang.ref.Reference.enqueue 方法时,此方法会在将对象添加到注册队列前清除引用。Reference 对象被排队后,需要 java.lang.ref.Reference.get () 返回值的代码可能会抛出 NullPointerException

红帽构建的 OpenJDK 8.0.352 发行版本更改了 PhantomReference 对象的行为,以便在任何关联队列中排队前清除它们。这与 SoftReferenceWeakReference 对象的现有行为相同。

links

为客户端角色启用 TLSv1.3

默认情况下,红帽构建的 OpenJDK 8.0.352 为客户端角色启用 TLSv1.3 协议支持。

在红帽构建的 OpenJDK 8.0.272 版本中,对服务器角色的 TLSv1.3 协议支持已经启用。

如果您在红帽构建的 OpenJDK 8.0.352 中创建 TLS 客户端角色,同时保留默认的协议设置,并且与 TLSv1.3 建立的连接中使用 TLSv1.3,则兼容性问题可能会影响您的应用程序。以下列表详细介绍了常见兼容性问题:

  • TLSv1.3 使用半双工-close 策略,而 TLSv1.2 使用 full-duplex-close 策略。您可以使用 jdk.tls.acknowledgeCloseNotify 系统属性将 TLSv1.3 配置为使用全双工策略。有关此配置的更多信息,请参阅 JDK-8208526
  • TLSv1.3 不支持 signature_algorithms_cert 扩展中的某些算法。例如,如果您只允许在配置中签名验证的数字签名算法(DSA),在使用 TLSv1.3 协议时您将遇到不兼容的问题。
  • 使用 DSA 证书进行客户端身份验证的客户端会导致与 TLSv1.3 的兼容性问题。
  • TLSv1.3 包含与早期 TLS 协议版本不同的密码套件。对于带有硬编码的、不支持的密码套件的应用程序,可能会出现兼容性问题。
  • TLSV1.3 会话恢复和密钥更新行为与早期的 TLS 协议版本不同。依赖于这些协议的握手详情的应用程序可能会遇到兼容性问题。

如果您需要禁用对客户端角色的 TLSv1.3 协议支持,请完成以下操作之一:

  • 获取带有 SSLContext.getInstance ("TLSv1.2") 的 TLSv1.2 上下文。
  • jdk.tls.client.protocols 系统属性设为 TLSv1.2。例如,-Djdk.tls.client.protocols="TLSv1.2"
  • 为红帽构建的 OpenJDK javax.net.ssl API 设置早期 TLS 协议,如下例所示:
sslSocket.setEnabledProtocols(new String[] {"TLSv1.2"});
sslEngine.setEnabledProtocols(new String[] {"TLSv1.2"});
SSLParameters params = sslSocket.getSSLParameters();
params.setProtocols(new String[] {"TLSv1.2"});
slsSocket.setSSLParameters(params);

links

jdk.httpserver.maxConnections system property

红帽构建的 OpenJDK 8.0.352 添加了一个新的系统属性 jdk.httpserver.maxConnections,它会修复为 HttpServer 服务指定的连接限制,这可能会导致接受的连接和建立的连接无限期保持打开。

您可以使用 jdk.httpserver.maxConnections 系统属性以以下方式更改 HttpServer 服务的行为:

  • 设置 0 或负值(如 -1 )来为该服务指定连接限制。
  • 设置一个正值,如 1,使服务能够根据当前已建立的连接数检查任何接受的连接。如果达到该服务的最大已建立连接数,服务会立即关闭接受的连接。

支持 Microsoft Visual Studio 2017

从红帽构建的 OpenJDK 8.0.352 版本开始,Windows JDK 和 JRE 1.8.0 版本使用 Visual Studio 2017 工具链编译,因为 Microsoft 目前支持此链。

注意

红帽客户门户网站不再使用 Alternative toolchain 标签来标记使用 Visual Studio 2017 工具链编译的二进制文件。

对于依赖 Microsoft Visual Studio 2010 工具链进行编译二进制文件(红帽标签为 旧工具链 )的客户,红帽将继续支持这些二进制文件。在 Software Details 页面中,在红帽客户门户网站中,带有此工具链编译的文件在其文件名中包含 vs10 条目。例如,openjdk-1.8.0.345/java-1.8.0-openjdk-1.8.0.352-2.b08.redhat.windows.vs10.x86_64.zip

重要

Microsoft 不再支持 Visual Studio 2010 工具链,因此红帽只能提供对与此链相关的任何产品的有限支持。

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

以下公告已被发布,以记录本发行版本中包含的程序错误修复和 CVE 修复:

更新于 2024-05-11

法律通告

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 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

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

© 2024 Red Hat, Inc.