第 3 章 Red Hat build of OpenJDK 功能
最新的 Red Hat build of OpenJDK 17 发行版本可能包括新功能。另外,最新版本可能会增强、弃用或删除来自以前红帽构建的 OpenJDK 17 版本的功能。
有关所有其他更改和安全修复,请参阅 OpenJDK 17.0.7 发行版本。
Red Hat build of OpenJDK 的改进
Red Hat build of OpenJDK 17 为最初在以前版本的 OpenJDK 版本中创建的功能提供改进。
Certigna (Dhimyotis) root 证书颁发机构 (CA) 证书
在 Red Hat build of OpenJDK 17.0.7 中,cacerts truststore 包括 Certigna (Dhimyotis) root 证书:
- 名称:Certigna (Dhimyotis)
- 别名名称:certignarootca
- 标识名称: CN=Certigna, O=Dhimyotis, C=FR
请参阅 JDK-8245654 (JDK Bug System)。
新的 Java Flight Recorder (JFR)事件 jdk.InitialSecurityProperty
使用红帽构建的 OpenJDK 17.0.7,现在可在新的 JFR 事件 jdk.InitialSecurityProperty 中访问 java.security.Security 类加载的初始安全属性。
jdk.InitialSecurityProperty 事件包含以下两个字段:
- Key :安全属性键。
- value: 对应的安全属性值。
通过使用这个新事件和现有的 jdk.SecurityPropertyModification 事件,您现在可以在整个生命周期中监控安全属性。
在本发行版本中,当 -Djava.security.debug=properties 属性传递给 Java 虚拟机时,您还可以将初始安全属性输出到标准错误输出流。
请参阅 JDK-8292177 (JDK Bug System)。
如果 java.security 文件无法加载,则抛出错误
在以前的版本中,如果红帽构建的 OpenJDK 无法加载 java.security 文件,则会使用一组硬编码的安全属性。这组属性没有完全维护,在使用时用户并不明确。
现在,如果红帽构建的 OpenJDK 17.0.7,如果红帽构建的 OpenJDK 无法加载 java.security 文件,红帽构建的 OpenJDK 会显示 InternalError 错误消息。
请参阅 JDK-8155246 (JDK Bug System)。
listRoots 方法返回 Windows 上所有可用驱动器
在以前的版本中,Windows 系统上的 java.io.File.listRoots() 方法过滤掉所有无法访问或者没有加载介质的磁盘驱动器。但是,这个过滤会导致可观察到的性能问题。
随着红帽构建的 OpenJDK 17.0.7,listRoots 方法会返回所有可用的磁盘驱动器未过滤。
请参阅 JDK-8208077 (JDK Bug System)。
增强的 Swing 平台支持
在 OpenJDK 的早期版本中,HTML 对象标签呈现在 Swing HTML 组件中。随着红帽构建的 OpenJDK 17.0.7 版本,只有在将新系统属性 swing.html.object 设置为 true 时才会进行渲染。默认情况下,swing.html.object 属性设置为 false。
JDK bug system reference ID: JDK-8296832.