Java 11将包含更多功能

Java 11中即将推出的功能是什么?它与Java 9和10有何不同?

Java 10可能是新手,但现在该谈论Java 11了。Oracle迈向更快的发布周期意味着更多的特性和功能以比以往更快的速度出现。

尽管距离Java 11发行还有六个月的时间,但我们已经可以窥见即将发生的事情,并了解如何适应。 我们还可以了解是应该升级到Java 9、10,还是要等待Java 11。

让我们来看看。

Java 11有什么新功能?

Java 11的发布日期定于2018年9月,并且该库当前开放以进行错误修复,以及将更多JDK增强提案(JEP)添加到即将发布的版本中的建议。 虽然列表不是最终的,但已经有4个提案计划用于下一个版本:

1. Lambda参数的局部变量语法(JEP 323)

当声明隐式类型的lambda表达式的形式参数时,此JEP将允许使用var。 此处的目标是在隐式类型化的lambda表达式中将局部变量声明的语法与形式参数声明的语法对齐。 这样,而不是这样写:

(var x,var y)-> x.process(y)

我们将能够简单地编写:

(x,y)-> x.process(y)

这扩展了Java 10 Local Variable Type Inference ,后者引入了一种新语法,该语法减少了与编写Java相关的冗长性,同时保持了对静态类型安全性的承诺。

换句话说,您无需指定关联的类型就可以声明变量。 与上面的示例类似,Java 10将提供以下简单声明:

var list = new ArrayList <String>();
var stream = getStream();

那将替换现有的,看起来像这样:

List <String> list = new ArrayList <String>();
Stream <String> stream = getStream();

2. Epsilon:任意低开销的垃圾收集器(JEP 318)

该JEP的正式名称是“无操作垃圾收集器”,其目的是开发一种无需执行任何实际的内存回收机制即可处理内存分配的垃圾收集器。

3.动态类文件常量(JEP 309)

该JEP希望扩展Java类文件格式以支持新的常量池形式CONSTANT_Dynamic。 这里的目标是通过创建可以用用户提供的行为进行参数化的单个新的常量池形式,来减少创建可实现的类文件常量的新形式的成本和所造成的干扰。

4.删除Java EE和CORBA模块(JEP 320)

随着Java SE 9中Java EE和CORBA模块的贬值,这些模块将从整个Java SE平台和SDK中删除。 这是一个清理过程,是对Java 9中启动的过程的跟踪。

Java 11将不仅包含功能

尽管此功能列表仍未最终确定,并且我们期望在接下来的几个月中添加更多的JEP,但Java 11会有一些额外的功能。 Java 11的主要亮点之一是对该平台的长期支持。 要了解其含义,让我们回到2017年9月, 甲骨文宣布将为其Java SE产品采用长期支持(LTS)模型

到目前为止,Oracle一直尝试针对两个不同的需求使用同一发行版。 一方面,公司希望专注于创新,尽快发布功能,而不是每次发布都要等待2-3年。 另一方面,他们还希望为需要他们可以依靠的产品的用户提供稳定性。

甲骨文与其他领先公司一样,希望快速发展。 迈向更快的发布周期将使公司能够进行创新,并且使团队和公司也能够更快地支持他们。

但是,快速发布带来了为用户保持平台可靠性的责任。 甲骨文表示,该公司要为所有即将推出的版本提供LTS会更加困难。 因此,该公司决定每3年提供一次LTS(或每6个版本提供一次)。

迈向更快的发布周期是大型公司正在采用的工作流程,这些公司希望以更快的速度进行创新,但需要确保其可靠性在此过程中不会受到损害。 我们已经介绍了工程团队如何通过修改其CI / CD流程,从编写代码以及在代码部署到生产后监视应用程序来弥合两者之间的差距。 您可以在这里阅读更多有关它的信息。

“长期支持”是什么意思?

Oracle的LTS支持产品着重于两个要点。 第一个是Premier支持,该支持自正式发布之日起五年内为您的Oracle数据库,Oracle融合中间件和Oracle应用程序提供维护和软件升级。

第二种服务称为“持续支持”,其中包括只要您使用Oracle软件就可以进行维护,并可以访问Oracle在线支持工具,升级权利,现有的修复程序以及技术支持专家的帮助。 这些要素对企业公司具有重要意义,甚至对其中某些要素至关重要。

如果您问Oracle为什么决定3年的差距,那是因为它是Java版本之间的平均发布时间(或更准确地说,它曾经是平均发布时间)。

确实,Java 11将提供LTS,并且将提供此支持的下一个版本将在2021年9月发布,目前的代号为21.9。 如果您仍在使用Java的较早版本,请不要担心,因为Oracle声明对Java 6、7和8的支持将继续支持当前计划。

最后的想法

Java 9的发布标志着Java平台的发展变化的开始。 最初,我们获得了Jigsaw项目,并在思考和构建大规模应用程序方面看到了一场革命。 Java 10即将引入局部变量类型推断,并帮助向Java添加一些语法糖,而Java 11随附了上述所有内容,以及对该平台的长期支持。

这并不一定意味着您应该等待Java 11,但这确实意味着Java和Oracle正在改变他们的节奏。 公司正在投资于其每一个优势-创新和稳定性-的事实是无处不在的好消息,而且毫无疑问,我们将迎来更多的好消息。

翻译自: https://www.javacodegeeks.com/2018/03/java-11-will-include-more-than-just-features.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值