劲爆!Java 协程终于来了
点击关注公众号,Java干货及时送达
出品 | OSC开源社区(ID:oschina2013)
从 JDK 19 的概述页面来看,JDK 19 处于 Rampdown Phase Two 阶段,整个功能集已被冻结,将不再对 JEP 进行改动。
Java 19 只有 7 个新特性:
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 编程语言以解构记录值,可以嵌套记录模式和类型模式,实现强大的、声明性的和可组合的数据导航和处理形式。
这是一个预览语言功能。另外,最新面试题整理好了,大家可以在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,栈长曾对此进行了详细介绍。
Vector API (第四次孵化)
引入一个 API 来表达在运行时能够可靠编译的向量计算,在支持的 CPU 架构上优化向量指令,从而实现优于标量计算的性能。
Switch 模式匹配(第三预览版)
用 switch
表达式和语句的模式匹配,以及对模式语言的扩展来增强 Java 编程语言。将模式匹配扩展到 switch
中,允许针对一些模式测试表达式,这样就可以简明而安全地表达复杂的面向数据的查询。
该特性最早在 Java 17 中作为预览版出现, Java 19 为第三次预览。
结构化并发(孵化阶段)
引入用于结构化并发的 API 来简化多线程编程,结构化并发将不同线程中运行的多个任务视为单个工作单元,从而简化错误处理、提高可靠性并增强可观察性。
还有一个有意思的事:从 Java 16 开始,每个版本的特性数量越来越少:
相关链接:https://openjdk.org/projects/jdk/19/
最后推荐栈长耗时半年打造的 Spring Cloud Alibaba 微服务实战课,目前首期特价优惠中,后续 100% 会涨价,早报名,早学习,早提升自己,早涨薪。