JDK 20: Java 20中的新特性

标准Java的下一个版本将孵化作用域值,这是一个允许在大量线程内或跨大量线程共享不可变数据的API。

  • 在Facebook上分享
  • 在推特上分享
  • 在LinkedIn上分享
  • 在Reddit上分享
  • 通过电子邮件分享
  • 印刷资源

Java 20,或Java Development Kit (JDK) 20,标准Java的下一个计划版本,现在功能已经完成。正式发布的六个功能要么处于孵化阶段,要么处于预览阶段。其中包括作用域值、记录模式、开关语句和表达式的模式匹配、外部函数和内存API、虚拟线程和结构化并发。

Java 20达到了初始化rampdown阶段12月8日,开发人员现在正在寻求修复错误,并可能添加后期增强,需要批准。JDK将于2023年3月3日正式发布,这是Oracle标准Java版本六个月发布周期的一部分。JDK 20将遵循9月20日发布的JDK 19

以下是JDK 20的6个新特性:

  • 作用域值,一个处于开发孵化阶段的API,支持在线程内和跨线程共享不可变数据。这些变量比线程局部变量更受欢迎,特别是在使用大量虚拟线程时。作用域值允许在大型程序中的组件之间安全有效地共享数据,而无需求助于方法参数。目标包括易用性、可理解性和性能。
  • 记录模式,在第二个预览版中,使用模式增强了Java编程语言,以解构记录值。可以嵌套记录模式和类型模式,以支持声明性的、功能强大的、可组合的数据导航和处理形式。目标包括扩展模式匹配,以表达更复杂、可组合的数据查询,并且不更改类型模式的语法或语义。自第一次预览以来的主要变化JDK 19包括添加对一般记录模式的类型参数推断的支持,支持记录模式出现在增强的标头中语句,并删除对命名记录模式的支持。
  • 外部函数和内存API引入了一个API,通过该API, Java程序可以与Java运行时之外的代码和数据进行互操作。该API使Java程序能够调用本机库和处理本机数据,而不像JNI (Java本机接口)那样脆弱和危险。该API之前在JDK版本17和18中孵化,并在JDK 19中预览。自JDK 19以来添加的改进包括统一MemorySegment而且MemoryAddress抽象,增强MemoryLayout层次和分裂MemorySession竞技场而且SegmentScope促进跨维护边界的段共享。
  • 虚拟线程轻量级线程减少了编写、维护和观察高吞吐量并发应用程序的工作量。自JDK 19的第一个预览版以来的微小变化包括少量的API更改(在JDK 19中是永久性的)和退化,ThreadGroup(在JDK 19中也是永久的)。
  • 结构化的并发性提供了一个API来简化多线程编程,并将在不同线程中运行的多个任务视为单个工作单元。简化了错误处理和取消,提高了可靠性和可观察性。自JDK 19孵化以来唯一的变化是StructuredTaskScope已更新为支持在任务作用域中创建的线程继承作用域值。
  • switch语句和表达式的模式匹配支持简单而安全地表达复杂的面向数据的查询。先前预览于JDK 17JDK 18,JDK 19,这第四预览将使继续共同进化记录模式,允许在经验和反馈的基础上继续改进。自第三预览版以来,switch模式匹配方面的主要变化包括简化了开关标签的语法,支持在switch语句和表达式中推断通用模式的类型参数和记录模式。此外,枚举类的穷举切换现在会抛出MatchException而不是IncompatibleClassChangeError如果运行时没有应用开关标签。

那些没能成功的能力JDK 19但仍在考虑Java包含普遍的泛型字符串模板测序集合,以及异步堆栈跟踪VM APIJDK 20的早期访问版本可以在jdk.java.net

JDK 20将于2023年1月19日进行第二个降级阶段,2月份将发布两个候选版本。JDK 20被设定为一个短期特性版本,只有六个月的Oracle高级级支持。JDK 21将于2023年9月发布,它将是一个长期支持版本,有多年的支持支持。

版权所有©2022 金宝搏体育下载IDG通信有限公司

如何选择低代码开发平台