Java 11中即将推出的功能有哪些,它们与Java 9和10的不同之处是什么?

Java 10可能是块中的新手,但现在已经是时候谈论Java 11. Oracle向更快的发布周期迈进意味着更多的功能和能力正在以前所未有的速度发展。

虽然我们还有6个月的时间才会发布Java 11,但我们已经可以看到我们的方式,看看我们如何适应。我们还可以了解是否应该升级到Java 9,10,或者我们是否应该等待Java 11。

让我们来看看。

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

  1. Lambda参数的本地变量语法(JEP 323)
    在声明隐式类型lambda表达式的形式参数时,此JEP将允许使用var。这里的目标是将局部变量声明的语法与隐式类型的lambda表达式中的形式参数声明的语法对齐。这样,而不是写这个:

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

我们可以写:

(var x,var 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();

  1. Epsilon:一个任意低开销的垃圾收集器(JEP 318)
    这个JEP的官方名称是“No-Op垃圾收集器”,其目的是开发一个处理内存分配的垃圾收集器,而不实现任何实际的内存回收机制。

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的支持将继续用于当前的计划。

更新: 如Azul Systems副首席技术官 Simon Ritter 在评论部分所述,“LTS更新仅适用于拥有Oracle商业支持合同的客户。JDK 11的公开更新与JDK 9以后的所有其他版本的更新将在下一个版本发布六个月后停止。“

Java 10似乎将是最后一个免费的Oracle JDK。正如Nicolai指出的那样,用户要么付费才能使用未来的JDK版本,要么依赖OpenJDK:

最后的想法
Java 9的发布标志着Java平台演变的开始。起初,我们得到了Jigsaw项目,看到 了我们思考和构建 大规模应用程序 的方式的革命 。Java 10即将引入本地变量类型推断并帮助向Java添加一些语法糖,Java 11带有上述所有功能,以及对平台的长期支持。

这并不一定意味着您应该等待Java 11,但这确实意味着Java和Oracle正在改变他们的调整。公司正在投资其每一个优势 – 创新和稳定 – 这一事实是令人敬畏的新闻,我们毫无疑问会有更多好消息传来。

转载于:https://blog.51cto.com/13981400/2341649

40天后Java 11将推出的功能有哪些,它们与Java 9和10的不同之处是什么?相关推荐

  1. Java 11将包含更多功能

    Java 11中即将推出的功能是什么?它与Java 9和10有何不同? Java 10可能是新手,但现在该谈论Java 11了.Oracle迈向更快的发布周期意味着更多的特性和功能以比以往更快的速度出 ...

  2. Java 11中的新功能和API详解系列1

    Java 11中的新功能和API详解系列1 2018.9.27 版权声明:本文为博主chszs的原创文章,未经博主允许不得转载. JDK 11在语言语法方面有一个小改动,增加了相当数量的新API,以及 ...

  3. Java 11手册:最聪明的技巧来简化Java 11导航

    Java 11:提示和技巧,日常陷阱及更多 为了庆祝Java 11的发布,我们邀请了八位Java专家与他们分享最新版本的最佳和最差体验. 由于本系列旨在作为Java 11的手册,因此我们的受访者还将谈 ...

  4. Java 11即将发布的功能–启动单文件源程序

    Java 11即将完成,并且进入了下降阶段 . 好像在几周前就发布了Java 9,而在这里,距离发布Java 11不到几个月. 鉴于Java的新发行过程和时间表,这将变得司空见惯. 不管那是好事,我们 ...

  5. Java 11已经不再完全免费,不要陷入Oracle的Java 11陷阱

    Java 11 已经发布.这是一个主要版本,因为它有长期支持(LTS).但甲骨文也将其设置为陷阱(故意或偶然). 陷阱 23年来,开发人员从Oracle下载了JDK并免费使用它.在您最喜爱的搜索引擎中 ...

  6. java多功能钟_Java 11将包含更多功能

    java多功能钟 Java 11即将发布的功能是什么?它与Java 9和10有何不同? Java 10可能是新手,但现在该谈论Java 11了.Oracle迈向更快的发布周期意味着更多的特性和功能以比 ...

  7. Java 11的期望

    过去的几年对Java世界一直是动荡不安的,在相当多的发行版中添加了各种各样的功能. 在开发人员社区中,人们逐渐意识到Java的开发速度不够快. 在最初的20年中,Java平台和Java开发工具包(JD ...

  8. Java源码下载和阅读(JDK1.8/Java 11)

    文章目录 1.openjdk的Java源码 2. Oracle 的Java源码 1.openjdk的Java源码 JDK10的源码可以直接从openjdk上下载.下载地址:openjdk-10_src ...

  9. 4.6 W 字总结!Java 11—Java 17特性详解

    作者 | 民工哥技术之路 来源 | https://mp.weixin.qq.com/s/SVleHYFQeePNT7q67UoL4Q Java 11 特性详解 基于嵌套的访问控制 与 Java 语言 ...

  10. 在生产中使用Java 11:需要了解的重要事项

    来源:SpringForAll社区 如果您正考虑更新最新版本的Java,阅读本文以了解有关Oracle Java 11的最重要信息. 如果您及时了解Java社区的新闻,您可能听说Oracle改变了他们 ...

最新文章

  1. html文字垂直居中_文字垂直居中
  2. 求n!中含有某个因子个数的方法
  3. 填坑-十万个为什么?(13)
  4. 使用 Apache Pig 处理数据7
  5. HTML5 响应式网页设计之页面美化(三.弹性布局)
  6. 中文生成罗马音_现代建筑寿命仅50年,古罗马混凝土为何2000年越来越坚固?
  7. 域用户权限|连接DC终端服务
  8. Linuxbt下载工具-Transmission-支持命令行
  9. java中的if语句_java中的条件判断语句
  10. python求奇偶数和_用Python返回偶数和奇数
  11. getvod.php_网站漏洞修复之苹果cms电影系统
  12. Apache Ant官网下载、安装及环境变量配置过程详细图文说明(以windows系统为例)
  13. python控制手机
  14. 蓝牙耳机哪款性价比高?2023年高性价比蓝牙耳机盘点
  15. xstart下远程报错已拒绝X11转移申请的解决方法
  16. 信息学奥赛一本通 1367:查找二叉树(tree_a)
  17. 痞子衡嵌入式:其实i.MXRT1050,1020,1015系列ROM也提供了FlexSPI driver API
  18. 计算机国二表情包,哈哈哈!设计师专用表情包合集(二)
  19. 每天敲几行代码,量变到质变-我的程序员的成长秘籍
  20. HTML5 的一些新标签

热门文章

  1. 定时器事件QtimerEvent 随机数 qrand Qtimer定时器
  2. C11简洁之道:函数绑定
  3. excel第一次打开报错 向程序发送命令时出错 多种解决办法含终极解决方法
  4. Android-将RGB彩色图转换为灰度图
  5. SharePoint 2010-在ribbon上添加表单,将默认control加到自定义group中
  6. 【leetcode_easy】590. N-ary Tree Postorder Traversal
  7. powershell的stable和preview版本
  8. nginx编译安装和yum安装那个更好?
  9. 面对强势顾客,怎样应对才好?
  10. 花小钱办大事 888元血汗钱如何装电脑