JDK/Java 13 在一个月前已经发布,该版本带来了 5
大新特性,笔者观察到其中的 Text
Blocks(文本块)特性似乎被讨论最多。文本块特性与常见的 Python “””any
input”””

特性一样,它支持多行字符串文字,可以不需要使用大多数转义序列,同时可以让开发人员控制格式。虽然这不是特别复杂的特性,但对于开发中想将
HTML 代码引入 Java 来说是极大的便利,代码可读性也极大提高。

Java 13(JDK 13)目前已经进入了 Rampdown Phase One(RDP
1)状态,该状态意味着特性已经冻结,接下来开启稳定版本库,并主要进行 bug
修复与功能增强。

澳门新葡萄京官网首页 1

关于 Java 13
的其它新特性这里不赘述,感兴趣的话可以看看文末推荐的几篇内容。这里想写的其实是:按照惯例,可以开始盯着 Java
14 的新特性
了。

澳门新葡萄京官网首页 2

原标题:JDK/JAVA 13正式版发布
PingWest品玩9月23日讯,Java官网已经宣布JDK/Java 13正式GA。
此版本带来了以下几大新特性: JEP 350,Dynamic CDS Archives:扩展应用…

JDK 14
现在处于 Early-Access(EA,早期访问)阶段,按照发布周期正式版本将于明年
3 月 17 日发布。

按照生命周期,GA 版本将于 9 月 17 日发布。关于 JDK
的发布流程具体内容,可以查看:。

原标题:JDK/JAVA 13正式版发布

目前最新版本是 build 17,各个 build
的更新说明可以查看:。

澳门新葡萄京官网首页,下边看看 JDK 13 中会带来哪些新特性:

PingWest品玩9月23日讯,Java官网已经宣布JDK/Java 13正式GA。

澳门新葡萄京官网首页 3

  • 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
    语言。文本块是一个多行字符串文字,它避免了对大多数转义序列的需要,以可预测的方式自动格式化字符串,并在需要时让开发人员控制格式。

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

本文引用 InfoWorld
的报导,介绍一下目前
JDK 14 中可能会出现的
3 项新特性。其中有两个特性被正式提了出来,还有一个特性则是预测性质,分别看看:

详情查看:http://openjdk.java.net/projects/jdk/13

JEP 350,Dynamic CDS
Archives:扩展应用程序类-数据共享,以允许在Java应用程序执行结束时动态归档类。归档类将包括默认的基础层CDS存档中不存在的所有已加载的应用程序类和库类。

  • 改进 NullPointerExceptions,通过准确描述哪些变量为 null 来提高 JVM
    生成的异常的可用性。该提案的作者希望为开发人员和支持人员提供有关程序为何异常终止的有用信息,并通过更清楚地将动态异常与静态程序代码相关联来提高对程序的理解。
  • 非易失性映射的字节缓冲将添加新的 JDK 特定文件映射模式,该模式允许
    FileChannel API 用于创建引用非易失性内存(NVM)的 MappedByteBuffer
    实例。NVM
    使开发者可以跨程序构建和更新程序状态,而不会产生输入和输出操作通常需要的大量复制和翻译成本,这对于交易程序而言尤其重要。该增强提案主要目标是确保客户端可以连贯有效地从
    Java 程序访问和更新 NVM;第二个目标是使用 Unsafe 类中定义的受限制
    JDK 内部 API 来实现此提交行为,因此可以由可能需要提交给 NVM 的
    MappedByteBuffer 之外的其它类重用;另一个目标是允许现有 API 跟踪在
    NVM 上映射的缓冲区,以进行监控和管理。
  • Switch Expressions 在 JDK 12 与 13 中都是预览状态,预计在 JDK 14
    中成为稳定特性。switch 表达式扩展了 switch
    语句,使其不仅可以作为语句(statement),还可以作为表达式(expression),并且两种写法都可以使用传统的
    switch 语法,或者使用简化的“case L
    ->”模式匹配语法作用于不同范围并控制执行流。这些更改将简化日常编码工作,并为
    switch 中的模式匹配(JEP
    305)做好准备。

(文/开源中国)    

JEP 351,ZGC: Uncommit Unused
Memory:增强ZGC以将未使用的堆内存返回给操作系统。

JDK 14 EA 版本下载地址:

JEP 353,Reimplement the Legacy Socket
API:使用易于维护和调试的更简单、更现代的实现替换java.net.Socket和java.net.ServerSocket
API使用的底层实现。

最后,需要注意的是 EA
阶段的特性也有可能永远不会出现在最终的 JDK/Java 14 正式 GA 版本中。

JEP 354,Switch Expressions (Preview):可在生产环境中使用的
switch表达式,JDK
13中将带来一个beta版本实现。switch表达式扩展了switch语句,使其不仅可以作为语句,还可以作为表达式,并且两种写法都可以使用传统的switch语法,或者使用简化的“case
L
-”模式匹配语法作用于不同范围并控制执行流。这些更改将简化日常编码工作,并为switch中的模式匹配做好准备。

回到本文开头,关于 Java 13 的相关内容:

JEP 355,Text Blocks
(Preview):将文本块添加到Java语言。文本块是一个多行字符串文字,它避免了对大多数转义序列的需要,以可预测的方式自动格式化字符串,并在需要时让开发人员控制格式。

  • JDK/Java 13 发布
  • JDK 13 新特性详解(作者 @木九天 )
  • Java 没有创新了吗?(作者 @GuoMengyue )

  • 全网最新最简单的 OpenJDK13 代码编译(作者 @LieBrother )

  • Java 13 新特性及实战案例(作者 @waylau )

(文/开源中国)