Eclipse Temurin 8.0.352 发行注记


Red Hat build of OpenJDK 8

Red Hat Customer Content Services

摘要

查看发行注记以了解由 Eclipse Temurin 提供的 OpenJDK 8 最新构建中包含的新功能和功能增强。

前言

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

Eclipse Temurin 软件包可用于 Microsoft Windows 和多个 Linux x86 操作系统,包括 Red Hat Enterprise Linux 和 Ubuntu。

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

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

流程

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

使开源包含更多

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

第 1 章 Eclipse Temurin 的支持策略

红帽在其产品中支持所选的 Eclipse Temurin 主版本。为实现一致性,这些版本与 Oracle JDK 的长期支持(LTS)指定的版本相同。

从该版本首次引入后,Eclip Temurin 的主版本将最少提供六年的支持。如需更多信息,请参阅 Eclipse Temurin 生命周期和支持政策

注意

RHEL 6 于 2020 年 11 月结束其生命周期。因此,Eclip Temurin 不支持 RHEL 6 作为支持的配置。

第 2 章 Eclipse Temurin 功能

Eclipse Temurin 不包含来自 OpenJDK 上游发行版的结构更改。

有关 Eclipse Temurin 的最新 OpenJDK 8 发行版本中包含的更改和安全修复的列表,请参阅 OpenJDK 8u352 Released

新功能及功能增强

查看以下发行注记以了解 Eclipse Temurin 8.0.352 发行版本提供的新功能和功能增强:

引用对象更改和配置

从 OpenJDK 8.0.352 以后,您无法克隆 引用对象

如果您试图克隆引用对象,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 则用于与 TLS 服务器建立的连接中,兼容性问题可能会影响您的应用程序。以下列表详细介绍了常见兼容性问题:

  • 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 工具链,因此红帽只能提供对与此链相关的任何产品的有限支持。

更新于 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.