在 Java SE 8 发布一年之后,Oracle 于近日发布了Java Development Kit 8 Update 40(JDK 8u40) ,该更新从多个方面改进了这一流行的企业级应用程序平台,包括内存管理的垃圾收集、本地包和JavaScript 兼容性等内容。
该更新增强了垃圾收集功能,降低了释放系统资源时会造成长暂停的可能性,同时减少了类卸载等依赖于完整垃圾收集的重要操作。此外,在部署了多个JVM 的系统上该特性能够降低内存的消耗,将每个JVM 的内存控制在一定范围内,避免因内存不足而产生问题。JDK 8u40 还增强了本地内存跟踪功能,让其在运行的时候不会对性能造成严重的影响,用户可以使用这一特性对JVM 内存泄漏进行诊断。
本地包的改进让开发者能够开发“原生感觉的应用程序”,客户端不再需要安装已有的Java 运行时环境。这些自包含的应用程序能够被部署在像Mac 应用商店这样的地方,开发者对运行时和应用程序入口拥有完全的控制能力。
JDK 8u40 还增强了 JavaScript 和动态语言的能力。对 Nashorn JavaScript 运行时的优化包括动态语言支持和类过滤器,后者可以让 JavaScript 代码通过一个过滤接口对 Java 类进行细粒度地访问。同时 reduction 中的 Lambda 和缓存增强降低了应用程序所需的内存空间并提升了动态语言的性能。
在 JavaFX 方面,该更新中的新特性允许现代化的 JavaFX 堆栈运行在 Mac OS 上,并能发布到 Mac 应用商店中。JavaFX 媒介堆栈已经从 QTKit 和 Quicktime 迁移到新的 AVFoundation 架构中, 全面适配 Mac OS X,借助于该功能,JavaFX 媒体堆栈的开发人员将有机会在 Mac 应用商店上发布他们的应用。
为了简化 Oracle Java SE 高级用户的使用,软件现在能够从命令行或者 Java 任务控制(JMC)中动态启用,不需要考虑原始的启动参数。同时,JDK 8u40 提供了一个新的时区更新工具,该工具能够从 IANA 时间注册表数据库中消耗“初始”的数据 (tzdata) 规则,并将其转换成 JRE 所需要的格式。Java SE 提供的这些能力目的是为了最小化部署、监控和维护的成本。
最后需要注意的是,Oracle 宣布将会从 4 月份开始停止对发布近 4 年之久的 Java SE 7 平台的进行公共更新,对此有需要的公司需要签订相关的支持协议,但已有的 Java SE 7 平台将依然可以下载使用。
感谢郭蕾对本文的审校。
给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。
评论