Java 8 Update 60 (8u60)发行要点说明
• IANA Data 2015e
JDK 8u60包含IANA时区数据版本2015e。
• Bug修复:dns_lookup_realm默认情况下应为false
Kerberos krb5.conf 文件中的dns_lookup_realm设置默认情况下为 false。
• Bug修复:禁用RC4密码套件
基于RC4的TLS密码套件(例如TLS_RSA_WITH_RC4_128_SHA)现在被视为有漏洞,不再使用(请参阅RFC 7465)。相应地,默认情况下,在Oracle JSSE实现中通过将"RC4"添加到"jdk.tls.disabledAlgorithms"安全属性,并将其从默认启用的密码套件列表中删除,已停用了基于RC4的TLS密码套件。通过从 java.security 文件包含的"jdk.tls.disabledAlgorithms"安全属性中删除"RC4",或者动态调用Security.setProperty()并使用SSLSocket/SSLEngine.setEnabledCipherSuites()方法将其读取到启用的密码套件列表中,可以重新激活这些密码套件。您还可以使用 -Djava.security.properties 命令行选项来覆盖jdk.tls.disabledAlgorithms 安全属性。例如:
java -Djava.security.properties=my.java.security ...
其中 my.java.security 是包含不带RC4的属性的文件:
jdk.tls.disabledAlgorithms=SSLv3
即使从命令行设置了此选项,仍必须使用 SSLSocket/SSLEngine.setEnabledCipherSuites()方法向启用的密码套件列表重新添加基于RC4的密码套件。
• Bug修复:支持JKS和PKCS12密钥库的密钥库类型检测
密钥库兼容性模式:为了提升互操作性,Java密钥库类型JKS现在默认支持密钥库兼容性模式。此模式使得JKS密钥库可以访问JKS和PKCS12文件格式。要禁用密钥库兼容性模式,请将安全属性keystore.type.compat 设置为字符串值 false。
• Bug修复:JDK 8u发行版中不安全的监视方法已过时
sun.misc.Unsafe 上的方法 monitorEnter、monitorExit 和 tryMonitorEnter 在JDK 8u60中被标记为已过时,将在以后的发行版中删除。这些方法不在JDK自身内部使用,也极少在JDK之外使用。
• Bug修复:使用SA从核心文件提取JFR记录
DumpJFR是基于可服务性代理的工具,可用于从核心文件和实时Hotspot进程提取Java飞行记录器(JFR)数据。可以通过以下方法使用DumpJFR:DumpJFR工具可将JFR数据转储到当前工作文件夹中名为recording.jfr的文件。
- 将DumpJFR附加到实时进程:
java -cp $JAVA_HOME/lib/sa-jdi.jar sun.jvm.hotspot.tools.DumpJFR
- 将DumpJFR附加到核心文件:
java -cp $JAVA_HOME/lib/sa-jdi.jar sun.jvm.hotspot.tools.DumpJFR
• Bug修复:名为"enum"的本地变量导致虚假的编译器崩溃
javac 语法分析器未正确对名为"enum"的本地变量进行语法分析;当程序包含此类本地变量时,如果在编译过程中使用的"source"标记对应于不支持枚举构造的发行版(例如"-source 1.4"),则会产生虚假的失败。
用于ARM的Java开发工具包发行版8u60
此发行版包含用于ARM的Java开发工具包发行版8u60(用于ARM的JDK 8u60)。
限制:本机内存跟踪支持仅限于用于ARM的JDK。ARM目标不支持Java命令行选项XX:NativeMemoryTracking=detail(会向用户显示一条错误消息)。请改为使用以下选项:
XX:NativeMemoryTracking=summary
针对Nashorn增强功能对文档进行了更新
JDK 8u60包括针对Nashorn的全新增强功能。因此,应该随最新Nashorn文档一起阅读以下文档更改:
• 补充:在以前的章节中,我们提到了每个JavaScript对象在公开到Java API时会实现java.util.Map 接口。这甚至对于JavaScript数组也成立。但是,当Java代码预期的是通过JSON进行语法分析的对象时,这通常不是所需或预期的行为。对于处理通过JSON进行语法分析的对象的Java库,通常的预期是数组会公开 java.util.List 接口。如果您需要公开JavaScript对象,从而将数组作为列表而非映射公开,您可以使用 Java.asJSONCompatible(obj) 函数,其中obj 是您的JSON对象树的根。
• 更正:在映射数据类型一节末尾提到的注意事项不再适用。Nashorn确保在向外部公开内部JavaScript字符串时,将这些字符串转换为 java.lang.String。
• 更正:在映射数据类型一节中提到的“例如,必须显式转换数组...”的说法不正确。数组会自动转换为Java数组类型,例如 java.util.List、java.util.Collection、java.util.Queue 和java.util.Deque 等等。
对部署规则集v1.2进行了更改
JDK 8u60实现了部署规则集(DRS) 1.2,其中包括以下更改:
• 添加 "checksum" 元素作为 "id" 的子元素,这可允许通过未解压缩形式jar的SHA-256校验和来标识未签名的jar:
- "checksum" 元素只与未签名的jar匹配,指定的散列将只与未解压缩形式的jar比较。
- "checksum" 元素(类似于 "certificate" 元素)具有两个参数 "hash" 和"algorithm",但是,与 "certificate" 元素不同,"algorithm" 唯一支持的值为"SHA-256"。将忽略提供的所有其他值。
• 允许将 "message" 元素应用到所有规则类型,而以前只能应用到阻塞规则:
- 在一个运行规则中,message子元素将导致显示消息对话框,而在没有运行规则时,默认行为是显示证书或未签名对话框。消息将显示在消息对话框中。
- 在默认规则中,只有在默认操作为“阻塞”时才会显示消息。在这种情况下,消息将包括在阻塞对话框中。
• 在Java控制台、跟踪文件和Java Usage Tracker记录中回显 "customer" 块。
- 在DRS 1.2之前,"customer" 元素(以及任意子元素)可以包括在 ruleset.xml 文件中。忽略此元素及其所有子元素。在DRS 1.2中,仍会从功能方面忽略这些元素。但是:
对 ruleset.xml 文件进行语法分析时,所有 "customer" 块都将回显到Java控制台和部署跟踪文件(如果启用了“控制台”和“跟踪”)。
使用规则时,包括在该规则中的所有 "customer" 记录都将添加到Java Usage Tracker (JUT)记录中(如果启用了JUT)。
Java 8 Update 60(JDK 8u60)官方下载:
软媒软件管家也对 Java SE Development Kit 进行了收录,愉悦的“一键装机”等着您体验。
支持Windows XP、Vista、Win7、Win8、Win8.1,Win10等平台,支持简体中文。
更多软件,请访问IT之家-软件频道。
广告声明:文内含有的对外跳转链接(包括不限于超链接、二维码、口令等形式),用于传递更多信息,节省甄选时间,结果仅供参考,IT之家所有文章均包含本声明。