2018 年 Java 平台发布计划之新特性展望

过去一年 Java 发生了许多变化,其中一部分原因在于推迟了一年的 Java 9 的推出。但是,随着时间的推移,人们发现,比起 Java 9 的推出,Java 版本发布周期的变更意义更为重大。

前段时间公布的 JDK 版本发布计划显示,Java 发布周期变更为每六个月一次,这意味着 2018 年 Java 将发布两个 Java 版本。第一个版本是 Java 10,第二个版本是 Java 11。

考虑到新版本的推出将严格遵循时间线,预计每个新版本发布的 Java 特性将比起之前有所缩减。也就是说,Java 10 的新特性会比之前版本的新特性要少。

之前的文章还对 Java 10 的新特性进行了解密

至于 Java 11 将会有哪些新功能,目前还无法确定。我们只是将以下功能纳入了考虑范围内:

随着发布日期临近,该特性列表后续一定会被补充。不过,该列表目前还未提及 Java 值类型。这也不奇怪,因为实现值类型需要对 Java 语言本身和运行时做出重大更新,还要对 Java 类型系统进行重构。

虽然当前原型已经工作,但要特性交付还需要花很长一段时间。当前的状态至适用于低级别的平台开发者,和一些惯于使用反射或 MethodHandle 工具的开发者。虽然值类型将作为 Java 11 的一部分发布,但 Oracle 尚未透露任何有关该特性预期发布时间的消息。

如果值类型并未作为 Java 11 特性发布,这将会产生连锁反应。包含值类型的首个长期支持(LTS)版本将不会在 2021 年 9 月前发布。

Java 11 中是否会有数据类data classes)还不确定。Java 语言架构师 Brian Goetz 曾这样说道:

数据类将用于解决类的表示与 API 合约间存在的复杂间接关系。通过使用数据类,编译器可以填入一些普通类成员

数据类提案与 Scala 的 Case 类有些相似。Goetz 表示,数据类的设计可能会有一些变动,它的整体语义会比我们现在看到的更加深入。目前的数据类概念在开发过程中与模式匹配功能相联系,但是它们有可能在不同的版本中提供。

与以上两个特性相关的是,未来可能会对 Switch 形式做改进,Switch 语句块将可作为表达式或声明使用。该特性有望在 Java 11 实现,但目前看来,仍然是一个 JEP 草案。

预定在 9 月发布的版本,其特性全部完成时间是 2018 年 6 月。因此,我们还需要等待数月,才能看到 Java 11 的整体形态。

编译自:Looking Forward to Java in 2018

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值