第14章 超越Java 7

本书的前面章节都是围绕Java 7展开的。Java SE 7在2011年7月发布之后,Java SE 8的开发正在进行中。根据Oracle在JavaOne 2011会议上公布的计划,Java SE 8预计于2013年夏天发布。虽然Java SE 8将包含的内容大部分已经确定,但是可能会随着具体的开发过程而发生改变。相对于Java SE 7而言,Java SE 8将会对Java平台做出革命性的修改,其中包含的修改涉及Java语言、Java标准库和Java虚拟机。Java SE 8的目标是支持在不同的计算环境下创建出可维护的、可伸缩的和高性能的Java应用。Java SE 8主要侧重三个方面,分别是生产率、性能和模块化。在生产率方面,Java SE 8通过在Java语言和标准库中的改进,提升API的抽象层次,减少不必要的冗余代码;在性能方面,Java SE 8对集合类框架和相关API做了增强,以支持对批量数据进行自动的并行处理,通过lambda表达式和接口的默认方法可以很方便地使用这些增强功能;在模块化方面,Java SE 8对Java平台本身提供了模块化支持,把Java平台划分成不同的模块和组件,这种模块化技术也可以用在应用的开发中。

Java SE 8中包含的更新内容由JSR 337(JavaTMSE 8 Release Contents)来确定,目前已经确定的具体内容包括:增加lambda表达式的JSR 335(Lambda Expressions for the JavaTMProgramming Language)、Java平台模块化、对Java语言进行的一些小的改动、Java类型的注解及日期与时间API等。除此之外,Java SE 8的更新还包括JavaFX 3.0、脚本语言支持API中新的JavaScript引擎以及虚拟机的整合等。本章的内容围绕Java SE 8的新特性展开。由于Java SE 8还在持续的开发中,很多内容都没有最终确定,因此本章内容以写作时(2012年2月)为准。