0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

jf_ro2CN3Fa 来源:OSC开源社区 作者:OSC开源社区 2022-10-10 17:08 次阅读

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

记录模式 (预览版)

Linux/RISC-V 移植

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

虚拟线程(预览版)

Vector API (第四次孵化)

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

结构化并发(孵化阶段)

JDK 19 / Java 19 已正式发布。

6e3e53d0-3f9c-11ed-9e49-dac502259ad0.png

新版本总共包含 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 个吧...

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    87

    文章

    11306

    浏览量

    209578
  • JAVA
    +关注

    关注

    19

    文章

    2968

    浏览量

    104777
  • JDK
    JDK
    +关注

    关注

    0

    文章

    81

    浏览量

    16598
  • 线程
    +关注

    关注

    0

    文章

    505

    浏览量

    19690
  • RISC-V
    +关注

    关注

    45

    文章

    2283

    浏览量

    46174

原文标题:JDK 19 / Java 19 正式发布,虚拟线程来了!

文章出处:【微信号:芋道源码,微信公众号:芋道源码】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    LM3447-A19-120VEVM用户指南

    电子发烧友网站提供《LM3447-A19-120VEVM用户指南.pdf》资料免费下载
    发表于 12-18 16:49 0次下载
    LM3447-A<b class='flag-5'>19</b>-120VEVM用户指南

    高速数据计算卡设计原理图:512-基于ZU19EG的4路100G 8路40G的光纤汇流计算卡

    ZU19EG板卡 , ZU19EG处理板 , ZU19EG开发板 , 光纤汇流计算卡 , ZU19EG
    的头像 发表于 12-04 09:43 166次阅读
    高速数据计算卡设计原理图:512-基于ZU<b class='flag-5'>19</b>EG的4路100G 8路40G的光纤汇流计算卡

    19位国际顶尖学者联袂撰写《重新审视边缘人工智能:机遇与挑战》

    19位国际顶尖学者联袂撰写《重新审视边缘人工智能:机遇与挑战》
    的头像 发表于 11-27 01:04 461次阅读
    <b class='flag-5'>19</b>位国际顶尖学者联袂撰写《重新审视边缘人工智能:机遇与挑战》

    Java集合API的改进介绍

    解答这些问题。 我们将逐步学习 Java 集合类的优化过程,并按版本逐一对比分析。主要讨论的焦点将包括 JDK 1.0、1.2、1.4、1.5、1.6、1.8、9、10、11 和 21 版本的 Java 集合功能
    的头像 发表于 11-22 11:12 205次阅读
    <b class='flag-5'>Java</b>集合API的改进介绍

    甲骨文发布Java 23

    全球领先的软件开发企业甲骨文(Oracle)近日隆重宣布推出Java 23(Oracle JDK 23),这一里程碑式的更新标志着全球排名第一的编程语言和开发平台再次迈出坚实步伐。Java 23不仅承载着无数开发者的期待,更以数
    的头像 发表于 09-19 16:36 370次阅读

    LM19温度传感器数据表

    电子发烧友网站提供《LM19温度传感器数据表.pdf》资料免费下载
    发表于 08-15 10:05 0次下载
    LM<b class='flag-5'>19</b>温度传感器数据表

    JDK8升级JDK11最全实践干货来了

    1、前言 截至目前(2023年),Java8发布至今已有9年,2018年9月25日,Oracle发布Java11,这是Java8之后的首个
    的头像 发表于 06-25 14:51 444次阅读
    <b class='flag-5'>JDK</b>8升级<b class='flag-5'>JDK</b>11最全实践干货<b class='flag-5'>来了</b>

    JDK11升级JDK17最全实践干货来了

    解决你的问题。 上篇文章给大家带来了JDK8升级JDK11的最全实践,相信大家阅读后已经对JDK11有了比较深入的了解。2021年9月14日,Oracle
    的头像 发表于 06-25 14:50 732次阅读
    <b class='flag-5'>JDK</b>11升级<b class='flag-5'>JDK</b>17最全实践干货<b class='flag-5'>来了</b>

    探索虚拟线程:原理与实现

    虚拟线程的引入与优势 在Loom项目之前,Java虚拟机(JVM)中的线程是通过java.lan
    的头像 发表于 06-24 11:35 308次阅读
    探索<b class='flag-5'>虚拟</b><b class='flag-5'>线程</b>:原理与实现

    vivo WATCH GT智能手表联手vivo S19手机即将发布

    据了解,vivo S19 系列将于 5 月 30 日发布,其中全新引入了索尼 IMX921 传感器。同时,另一款产品:vivo WATCH GT 手表将于该日期的 19:00 与之联袂登场。
    的头像 发表于 05-23 11:16 865次阅读

    采用APM19的 12V EPS参考设计板SEC-EPS-12V-APM19-GEVB数据手册

    电子发烧友网站提供《采用APM19的 12V EPS参考设计板SEC-EPS-12V-APM19-GEVB数据手册.rar》资料免费下载
    发表于 04-23 18:22 0次下载
    采用APM<b class='flag-5'>19</b>的 12V EPS参考设计板SEC-EPS-12V-APM<b class='flag-5'>19</b>-GEVB数据手册

    飞凌ElfBoard ELF 1板卡-如何在ELF 1开发板上实现对java的支持

    .root@ELF1:~# java ArgsTest结果输出正确,测试成功。 6.进行复杂应用测试jdk-8u151-linux-arm32-vfp-hflt-demos.tar.gz压缩包中含有多个测试程序,编译并
    发表于 03-20 09:51

    java实现多线程的几种方式

    Java实现多线程的几种方式 多线程是指程序中包含了两个或以上的线程,每个线程都可以并行执行不同的任务或操作。
    的头像 发表于 03-14 16:55 713次阅读

    如何在PSoC6上读取MH-Z19传感器?

    我有一个使用 PSoC 6 和 MH-Z19B 传感器的项目 但我 CAN在 PSoC 6 上找不到此传感器的库,在 PSoC 6 上找不到此传感器的示例! 我能找到的是为 Arduino 编写
    发表于 01-26 07:25

    8V19N850硬件设计

    电子发烧友网站提供《8V19N850硬件设计.pdf》资料免费下载
    发表于 01-14 11:10 0次下载
    8V<b class='flag-5'>19</b>N850硬件设计