Java 8 Update 40 (8u40)是Oracle公司发布的Java 8的一个更新版本

Java 8 Update 40 (8u40)是Oracle公司发布的Java 8的一个更新版本。这个更新版本主要修复了一些已知的问题和漏洞,同时也提供了一些新的功能和改进。

以下是Java 8 Update 40的一些主要特点:

  1. 修复了多个安全漏洞,包括CVE-2016-5573、CVE-2016-5582、CVE-2016-5597等。
  2. 增强了JavaFX的图形渲染性能,提高了应用程序的响应速度。
  3. 引入了新的API,如java.time.LocalDate.atStartOfDay(),用于处理日期和时间的操作。
  4. 优化了垃圾回收器的性能,减少了内存占用和GC暂停时间。
  5. 修复了一些已知的问题,如JVM崩溃、死锁等。

要使用Java 8 Update 40,你需要下载并安装相应的JDK(Java Development Kit)或JRE(Java Runtime Environment)。安装完成后,你可以使用命令行或者集成开发环境(IDE)来编写和运行Java程序。
发行版要点说明

IANA Data 2014j
JDK 8u40 包含 IANA 时区数据版本 2014j。有关详细信息,请参阅 JRE 软件中的时区数据版本。
Bug 修复:JDI、JDWP 和 JDB 中的默认静态接口方法。从 JDK 8 开始,能够通过接口使用可直接执行的静态默认方法。这些方法不能通过 JDWP 或 JDI 执行,因此不能正确地调试。有关详细信息,请参阅 JDK 8 Compatibility Guide。请参阅 8042123。
Bug 修复:可以从适用于 32 位 JRE 的控制面板中启用 Java Access Bridge。以前在卸载 64 位 JRE 时,即使系统上仍然存在 32 位 JRE,“启用 Java Access Bridge”复选框仍然会从 Java 控制面板中删除。从 JDK 8u40 发行版开始,如果存在 32 位 JRE,则在控制面板 -> 轻松访问 -> 轻松访问中心 -> 使用不带显示器的计算机中,会保留“启用 Java Access Bridge”复选框。因此,用户可以通过控制面板启用 Java Access Bridge,请参阅 8030124。
Bug 修复:在 Mac OS X 上对 JavaFX 媒体堆栈运用现代技术。向 JavaFX 媒体添加了一个基于 AVFoundation 的播放器平台。基于旧 QTKit 的平台现在可从 Mac 应用程序商店兼容平台中删除。请参阅 8043697(非公共)
Bug 修复:缺少 DOM API。在 JDK 8u40 发行版中,无意中删除了旧插件 DOM API。如果某个小应用程序需要使用 com.sun.java.browser.dom.DOMService 与浏览器通信,则用户可能需要更新其小应用程序以便使用 netscape.javascript.JSObject,或者继续使用 JDK 8 Update 31。此问题已在工作版本 26 中解决,新的 8u40 安装程序已发布。如果遇到此问题,请下载并运行更新后的 JDK 8u40 安装程序。请参阅 8074564。
Bug 修复:Mac 10.10:使用启动屏幕运行的应用程序具有焦点问题。通过 webstart 或独立应用程序启动的应用程序也使用启动屏幕,无法获得键盘焦点。解决方法:使用 -Xnosplash 选项启动 javaws。此问题已在工作版本 27 中解决,新的 8u40 安装程序已发布。如果遇到此问题,请下载并运行更新后的 JDK 8u40 安装程序。请参阅 8074668。
Java 打包程序工具增强功能
JDK 8u40 发行版包含针对 Java 打包程序的以下增强功能:
    命令行参数可以传递到自包含的应用程序。默认参数是在创建程序包时定义的,可在启动应用程序时由用户覆盖。
    安装自包含的应用程序时可以设置文件关联,使操作系统可以针对注册的文件扩展名或 MIME 类型自动运行应用程序。
    UserJvmOptionsService API 可用于变更自包含的应用程序中的 JVM 选项。下次启动应用程序时将使用新设置。
    自包含的应用程序支持多个入口点,可以将一套产品捆绑成同一个应用程序包。
过时的 API
Endorsed-Standards Override 机制和扩展机制已过时,可能会从未来的发行版中删除。没有运行时更改。对于使用 "Endorsed-Standards Override" 或“扩展”机制的现有应用程序,建议不要再使用这两个机制。要帮助标识使用这两个机制的任何现有应用程序,可使用 -XX:+CheckEndorsedAndExtDirs 命令行选项。如果下列条件中有任何一个成立,此选项都将失败:
    -Djava.endorsed.dirs 或 -Djava.ext.dirs 系统属性已设置为变更默认位置;或者
    ${java.home}/lib/endorsed 目录存在;或者
    ${java.home}/lib/ext 包含任何 JAR 文件(不包括 JDK 传送的 JAR 文件),或者
    任何平台特定的系统范围扩展目录包含任何 JAR 文件。
JDK 8u40 及更高发行版中支持 -XX:+CheckEndorsedAndExtDirs 命令行选项。
JJS 工具页差异
JJS 帮助页的日文版本不同于英文版本。一些不受支持的选项已经从 jjs 工具页的英文版中删除。以后将更新日文版本的文档。请参阅 8062100(非公共)。对于其他 JJS 工具页更改,请参阅 JDK 8 中的工具增强功能。
G1HeapWastePercent 和 G1MixedGCLiveThresholdPercent 的默认值更改
G1HeapWastePercent 的默认值已经从 10 更改为 5,以减少对完整 GC 的需求。出于相同的原因,G1MixedGCLiveThresholdPercent 的默认值已经从 65 更改为 85。
新的 Java 类访问筛选接口
jdk.nashorn.api.scripting.ClassFilter 接口可用于限制 Nashorn 脚本引擎所运行脚本对指定 Java 类的访问。有关详细信息,请参阅 Nashorn User's Guide 中的 Restricting Script Access to Specified Java Classes 和 8043717(非公共)。
第三方 JCE 提供方存在的问题
针对 JDK-8023069(在 JDK 8u20 中)的修复中更新了 SunJSSE 和 SunJCE 提供方,包括一些内部接口。一些第三方 JCE 提供方(例如 RSA JSAFE)使用的是一些 sun.* 内部接口,因此对更新后的 SunJSSE 提供方不起作用。此类提供方将需要进行更新,以便用于更新后的 SunJSSE 提供方。如果您受到此问题的影响,请与您的 JCE 供应商联系,要求提供更新。请参阅 8058731。
Solaris Crypto Framework 已重新启用加密
如果您使用的是 Solaris 10,它已进行更改以重新启用通过 Solaris Crypto Framework 进行的 MD5、SHA1 和 SHA2 操作。如果您的 JDK 8u40 出现 CloneNotSupportedException 或 PKCS11 CKR_SAVED_STATE_INVALID 错误消息,您应验证并应用下面的补丁程序或其较新的版本:
    有关 SPARC 的 150531-02
    有关 x86 的 150636-01
NMT 的故障排除指南更新
本机内存跟踪 (NMT) 是一项 Java Hotspot VM 功能,可跟踪 HotSpot JVM 内部的内存使用量。本机内存跟踪可用于监视 VM 内部内存分配并诊断 VM 内存泄漏。VM 增强功能页已使用 NMT 功能进行更新。请参阅 Java SE 8 中的 Java 虚拟机增强功能。故障排除指南已使用 NMT 功能进行更新。请参阅本机内存跟踪。
多个 JRE 启动程序功能已过时
启动时 JRE 版本选择或多个 JRE 启动程序功能在 JDK 8u40 中已过时。需要使用此功能部署的特定 Java 版本的应用程序必须切换到备用部署解决方案,例如 Java WebStart。
JavaFX 增强功能
从 JDK 8u40 发行版开始,JavaFX 控件得到了增强,支持辅助性技术,这意味着 JavaFX 控件现已提供可访问性功能。此外,提供了公共 API,使开发人员能够编写自己的可访问性控件。在 Windows 和 Mac OS X 平台上提供了可访问性支持,其中包括:
    支持通过屏幕阅读器读取 JavaFX 控件
    可以使用键盘遍历 JavaFX 控件
    支持使控件更易于用户查看的特殊高对比度模式。
请参阅 8043344(非公共)。

JDK 8u40 发行版包括新的 JavaFX UI 控件;一个微调按钮控件,格式文本支持,以及一组标准的预警对话框。
    微调按钮控件:微调按钮是一个单行文本字段,允许用户从一个有序序列中选择数字或者对象值。有关详细信息,请参阅 javafx.scene.control.Spinner 类。
    格式文本:新的 TextFormatter 类为 TextInputControl 子类(例如 TextField 和 TextArea)提供了文本格式设置功能。有关详细信息,请参阅 javafx.scene.control.TextFormatter 类。
    对话框:Dialog 类使应用程序能够创建自己的定制对话框。此外还提供了一个 Alert 类,该类对 Dialog 进行了扩展,并且为各种预构建的对话框类型提供支持,这些对话框类型可以轻松地显示给用户以便提示用户做出响应。有关详细信息,请参阅 javafx.scene.control.Dialog、javafx.scene.control.Alert、javafx.scene.control.TextInputDialog、javafx.scene.control.ChoiceDialog 类。
请参阅 8043350(非公共)。

商业功能

应用程序类数据共享 (AppCDS)
应用程序类数据共享 (AppCDS) 对 CDS 进行了扩展,使您可以将来自标准扩展目录和应用程序类路径的类放在共享档案中。这是实验性功能,尚不允许商用。请参阅 Java 启动程序工具页中的 -XX:+UseAppCDS 选项。
协作内存管理
从 JDK 8u40 开始,在 JDK 中增加了“内存压力”的概念。内存压力属性代表系统上的总内存使用量 (RAM)。内存压力越高,系统越接近于用完内存。这是实验性功能,尚不允许商用。为了应对内存压力增大,JDK 将尝试减少其内存使用量。主要通过减少 Java 堆大小来实现这一点。JDK 为减少内存使用量而采取的操作可能会导致性能降低。这是特意的选择。应用程序通过 JMX MXBean 提供压力级别,范围从 0(无压力)到 10(几乎用尽内存)。要启用此功能,应注册 jdk.management.cmm.SystemResourcePressureMXBean。然后,使用 "MemoryPressure" 属性设置内存压力。
此外,还提供了一个新的命令行标记 -XX:MemoryRestriction,它采用 "none"、"low"、"medium" 或 "high" 中的一个参数。此标记将在 JDK 中设置初始压力,对于未注册 MXBean 的情况,此标记同样起作用。协作内存管理需要 G1 GC (-XX:+UseG1GC)。此功能与 -XX:+ExplicitGCInvokesConcurrent 标记不兼容。
新商业标记
现已为商业许可证持有者提供了两个新的 VM 选项:
    -XX:+ResourceManagement
    -XX:ResourceManagementSampleInterval=value(毫秒)
有关详细信息,请参阅 Java 启动程序文档。
新 MSI 安装程序文档:
Microsoft Windows Installer (MSI) Enterprise JRE Installer Guide 现已提供。MSI Enterprise JRE 安装程序需要商业许可证以便在正式版中使用。了解有关商业功能以及如何启用这些功能的更多信息。

Java 到期日期

8u40 的到期日期是 2015 年 4 月 14 日。只要具有安全漏洞修复的新发行版可用,Java 就会到期。对于无法访问 Oracle 服务器的系统,辅助机制将使此 JRE(版本 8u40)于 2015 年 5 月 14 日到期。满足两个条件中的任何一个(新发行版可用或到达到期日期)后,Java 将向用户提供其他警告和提醒以更新到较新版本。
Bug 修复

有关此发行版中包含的 Bug 修复列表,请参阅 JDK 8u40 Bug 修复页。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值