即将来临的Java版本致力于减少冗余代码,增加多核性能,并且催生出动态脚本语言周二一名Oracle官员详细介绍了Oracle提交的版本7和版本8的Java标准版的技术规格。在考虑之中的技术由Java社区委员会(Java Community Process)冠以标号JSR(Java规格请求)。“它们由来已久了。只是现在终于有机会由JCP投票决议了。结果应该会在两周后出来。”
规格包括JSR 336:Java SE 7 版本内容;JSR 337: Java SE 8版本内容;JSR 334:对Java程序语言和JSR 334些许的增强;和JSR 335:Java程序语言的Lambda表达式(Lambda Expressions)。Java SE可能会成为服务于Java EE(Java Platform, Enterprise Edition)的一个基础。
Java SE 7( Java Platform Standard Edition 7),“将会促进最优编程技术的实现,并通过对Java语言和Java SE API加入高效特性来减少冗余代码,”JSR所述。据所提交的规格说明,特色将包括以一个“实际”的方式改进大多数应用程序的抽象水平;它不对现行代码带 来显著的影响,也不会给开发者带来大的学习曲线。“我们提议在其他改进之余,还实现I/O资源的自动管理功能,更加简化的泛型使用,以及更多简洁的异常处 理。”
Java SE 7同时应该实现的还有能够对多核处理器提供支持的并发API,和对动态脚本语言的改进。一个异步API被包含用来加快I/O密集型操作。JSR将2011年定为该规格的最后发布日期。
关于Java SE 8,规格上这样讲:“将会通过对Java语言和Java SE API加入高效特性来极大地减少冗余代码。”同时,Java SE 8会通过将一个模块系统集成入这一平台,处理规格上所指的class path Java Archive “地狱”。
此外,第8版本的Java集合框架(the Java Collections Framework)和相关的API将会被增强,以支持自动可并行的大块数据操作,如过虑、映射、和归约。“通过将Java语言拓展至包含Lambda表 达式(又称‘闭包’)和默认方法,可以方便地使用这些新API。作为一个额外的好处,开发者使用贯穿平台的现存的单抽象方法API,还可以一定程度上提高 绩效。”
Java SE 8技术规格最终定于2010年十月发布。
JSR 334希望能使程序员的工作更为简单。它将改进Java语言和API规格,来支持包括switch in string、二进制整形字面值、multi-catch,以及更多泛型实例创建中的precise rethrow和改进了的隐含类型在内的特性。规格同样也定于明年七月完成。
JSR 335 中富有特色的Lambda表达式拓展了Java虚拟机。“我们提议拓展Java语言,以支持紧凑Lambda表达式(也称闭包或匿名方法)。另外,我们会 拓展该语言以支持一个名叫‘SAM’的会话,以使Lambda表达式能够在一个单抽象方法接口或类被期待的地方被使用,进而推动对现存库的兼容性。”