(点击上方公众号,可快速关注)
来源:开源中国, www.oschina.net/translate/109-new-features-in-jdk-10
虽然感觉 JDK9 发布才仅仅几周的时间,然而,随着新的 OpenJDK 的发布节奏,JDK10 已经到达发布候选里程碑阶段。
我看过各种关于 JDK10 新特性的博客,但是它们都倾向于关注通过 JEPS 定义的大方面。这篇博文,我将看看是否可以罗列出 JDK10 中已经发生变化的方方面面(包括新增的和剔除的)。
有时候,我会做一些关于 Java SE 的报告会。之前我在“ JDK9 的 55 个新特性”的报告会上曾开玩笑说:下次我将做的恐怕是“ JDK10 的 5 个新特性”。然而事实证明,即使仅有六个多月的开发时间,JDK10 依然超乎想象。
即便我不再为 Oracle 工作,我也在此先做一个“安全港声明”,以便消除误会。这个列表是由下面这些公开可用的信息整理编辑的:JDK Enhancement Proposals (JEPs)、the OpenJDK bug database 和 Java SE 10 public review specification (JSR 383) 。当然,尽管我已尽可能的研究以保证信息准确,但在 JDK 10 最终发布之前仍可能会发生变化。
大事记
JDK10 包含 12 个JEP (改善提议):
var x = new ArrayList<String>();
这就消除了我们之前必须执行的 ArrayList<String> 类型定义的重复。我鼓励你们去读 JEP ,因为上面有一些关于这个句法是否能用的规则。
有趣的是,需要注意 var 不能成为一个关键字,而是一个保留字。这意味着你仍然可以使用 var 作为一个变量,方法或包名,但是现在(尽管我确定你绝不会)你不能再有一个类被调用。
新 API
有 73 项新增内容添加到了标准类库中。
其它翻译版本(1)
JVM 规范改动
这些改动相当小:
对 Java 语言规范的更改
这里还有一些更改,但主要是为了支持局部变量类型推断。
最后,第 19 章有多处语法更新,反映了应更多使用 TypeIdentifier 类型标识符,而不仅仅是 Identifier 标识符,以支持局部变量类型推断。
转载声明:本文转载自「精讲JAVA」。