前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JDK 19 / Java 19 正式发布,虚拟线程来了!

JDK 19 / Java 19 正式发布,虚拟线程来了!

作者头像
猿天地
发布2022-10-10 12:12:52
4380
发布2022-10-10 12:12:52
举报
文章被收录于专栏:猿天地猿天地

点击上方蓝色字体,选择“设为星标”

来源:OSC开源社区(ID:‍p‍oschina2013)

  • 记录模式 (预览版)
  • Linux/RISC-V 移植
  • 外部函数和内存 API (预览版)
  • 虚拟线程(预览版)
    • Vector API (第四次孵化)
    • Switch 模式匹配(第三预览版)
  • 结构化并发(孵化阶段)

JDK 19 / Java 19 已正式发布。

图片

新版本总共包含 7 个新的 JEP:

405:

Record Patterns (Preview) 记录模式

422:

Linux/RISC-V Port Linux/RISC-V 移植

424:

Foreign Function & Memory API (Preview) 外部函数和内存 API

425:

Virtual Threads (Preview) 虚拟线程

426:

Vector API (Fourth Incubator) 向量 API

427:

Pattern Matching for switch (Third Preview) Switch 模式匹配

428:

Structured Concurrency (Incubator) 结构化并发

下面对新特性作简短的介绍:

记录模式 (预览版)

使用*记录模式 *增强 Java 编程语言以解构记录值,可以嵌套记录模式和类型模式,实现强大的、声明性的和可组合的数据导航和处理形式。这是一个预览语言功能。

Linux/RISC-V 移植

将JDK 移植到 Linux/RISC-V,目前仅支持 RISC-V 的 RV64GV 配置(包含向量指令的通用 64 位 ISA)。将来可能会考虑支持其他 RISC-V 配置,例如通用 32 位配置 (RV32G)。

外部函数和内存 API (预览版)

引入一个 API,Java 程序可以通过该 API 与 Java 运行时之外的代码和数据进行互操作。通过该 API 可有效地调用外部函数( JVM 之外的代码)和安全地访问外部内存(不受 JVM 管理的内存),使得 Java 程序能够调用本机库并处理本机数据,而不会出现 JNI 的脆弱性和危险。这是个预览版 API 。

虚拟线程(预览版)

将虚拟线程引入 Java 平台。虚拟线程是轻量级线程,可显著地减少编写、维护和观察高吞吐量并发应用程序的工作量。这是一个预览 API,我们 OSC 曾对此进行了详细介绍 。

Vector API (第四次孵化)

引入一个 API 来表达在运行时能够可靠编译的向量计算,在支持的 CPU 架构上优化向量指令,从而实现优于标量计算的性能。

Switch 模式匹配(第三预览版)

switch 表达式和语句的模式匹配,以及对模式语言的扩展来增强 Java 编程语言。将模式匹配扩展到 switch 中,允许针对一些模式测试表达式,这样就可以简明而安全地表达复杂的面向数据的查询。该特性最早在 Java 17 中作为预览版出现, Java 19 为第三次预览。

结构化并发(孵化阶段)

引入用于结构化并发的 API 来简化多线程编程,结构化并发将不同线程中运行的多个任务视为单个工作单元,从而简化错误处理、提高可靠性并增强可观察性。这是一个孵化阶段的 API。另附

JDK 19 时间表:

2022/06/09

Rampdown Phase One Rampdown 第一阶段 (fork from main line)

2022/07/21

Rampdown Phase Two Rampdown 第二阶段

2022/08/11

Initial Release Candidate 初始候选版本(RC)

2022/08/25

Final Release Candidate 最终候选版本(RC)

2022/09/20

General Availability 稳定版本

其中 Rampdown 主要是修 Bug 和测试阶段。

还有一个有意思的事:从 Java 16 开始,每个版本的特性数量越来越少:

  • Java 16:17 个
  • Java 17:14 个
  • Java 18 :9 个
  • Java 19 :7 个

Java 20 不会变成 5 个吧...

代码语言:javascript
复制
-------------  END  -------------扫描下方二维码,加入技术群。暗号:加群
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-10-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 猿天地 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 记录模式 (预览版)
  • Linux/RISC-V 移植
  • 外部函数和内存 API (预览版)
  • 虚拟线程(预览版)
    • Vector API (第四次孵化)
      • Switch 模式匹配(第三预览版)
      • 结构化并发(孵化阶段)
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档