Java13的这些新特性,会对开发人员造成多大影响?

在其CodeOne会议上,Oracle解释了Java SE 13正式发布后Java的快速发布周期如何带来创新。

在过去的二十多年中,Java编程语言新版本的开发速度相对较慢,仅每隔几年就会进行重大更新。甲骨文在2018年推出了一项新的发布策略,如今这一切都发生了变化,现在该策略现在每年可以看到多个Java版本,包括本周早些时候发布的版本。

在9月16日与OpenWorld共同举办的CodeOne会议上,甲骨文宣布Java SE 13(JDK 13)的全面上市,为开发人员提供了可以提高生产率和效率的新功能。在CodeOne主题演讲中,Oracle Java语言架构师Brian Goetz概述了Java在最近几年取得的进展,并强调了Java 13引入的新功能。

Goetz说:“起初,很多人对快速发布的节奏持怀疑态度,因为我们很难像Java这样大的船能迅速变大。” “甚至有人担心Java 10和Java 11可能根本没有功能,并且往后看,很难夸大快速发布节奏已经带来的重大变化。”

Goetz说,每年发布多个版本意味着可以将更多功能交付给开发人员。不过,也许更重要的是现在如何设计功能-在较小的部分中利用发布周期。新周期的一个缺点是,开发人员和最终用户并不总是清楚为什么以及何时需要升级。

Goetz说:“在旧世界中,当我们每隔几年发布大量版本,而这些较大的版本往往具有较大的功能时,就会有足够的升级动力。” “现在,现实是,我们将来不会看到很多大型功能,这不是因为我们没有创新,而是因为这些大型功能将分解为较小的功能并交付使用分阶段进行。”

Java 13

此版本带来了以下几大新特性:

JEP 350,Dynamic CDS Archives:扩展应用程序类-数据共享,以允许在 Java 应用程序执行结束时动态归档类。归档类将包括默认的基础层 CDS(class data-sharing)存档中不存在的所有已加载的应用程序类和库类。
JEP 351,ZGC: Uncommit Unused Memory:增强 ZGC 以将未使用的堆内存返回给操作系统。
JEP 353,Reimplement the Legacy Socket API:使用易于维护和调试的更简单、更现代的实现替换 java.net.Socket 和 java.net.ServerSocket API 使用的底层实现。
JEP 354,Switch Expressions (Preview):可在生产环境中使用的 switch 表达式,JDK 13 中将带来一个 beta 版本实现。switch 表达式扩展了 switch 语句,使其不仅可以作为语句(statement),还可以作为表达式(expression),并且两种写法都可以使用传统的 switch 语法,或者使用简化的“case L ->”模式匹配语法作用于不同范围并控制执行流。这些更改将简化日常编码工作,并为 switch 中的模式匹配(JEP 305)做好准备。
JEP 355,Text Blocks (Preview):将文本块添加到 Java 语言。文本块是一个多行字符串文字,它避免了对大多数转义序列的需要,以可预测的方式自动格式化字符串,并在需要时让开发人员控制格式。
Java 14及更高版本

尽管每个Java版本都具有新功能,但是Oracle以不同的代号名称对许多主要的开发工作进行了分组,这将引导Java 14及更高版本中的功能开发。

大型项目之一是Amber项目,该项目全部与面向生产力的功能有关。Valhalla项目正在不断改进Java虚拟机。而Project Loom就是要在Java之上支持新的编程模型。

Goetz说:“对于Java来说,这是一个美好的时光。” “我们交付速度更快,每个版本中都有有用的功能,并且面向未来的管道比以往任何时候都更好。”

其实大家没有必要过于关注版本的变化,因为版本变化可能不会带来大的更新和特性。

日积月累,相对比较旧的版本也会有很大的更新和特性,对比一下,java13 对于 java8来说有很多大的功能和特性更新。

现在oracle的java版本策略是快速发布版本,小的功能的更新能快速发布新版让用户体验到,所以大家多关注Jave每次版本更新,以发现和尝试使用对自己有用的功能。

哪里可以下载 beta JDK 13 版本

你可以从 jdk.java.net 网站下载 :https://jdk.java.net/13/。JDK 13 的第一个 beta 版本可用于 Linux、MacOS 和 Windows。

发布了769 篇原创文章 · 获赞 107 · 访问量 7万+

猜你喜欢

转载自blog.csdn.net/qf2019/article/details/104293359