Java 19 已至,虚拟线程 = 王炸!!

推荐阅读:从阿里跳槽来的工程师,写个Controller都这么优雅

前几天,JDK 19/Java 19 正式发布了。

虽说是非LTS版,但是也带来了一些新特性,尤其像虚拟线程的加持等,也在网络上引起了一些相关的讨论,虽说类似的特性在有些语言里其实早就有了611f67b9cecfb3c42db6b5e3b058bc99.png

d4405626e2ba100f7e0db0a09b66aa48.png

新的JDK 19包含如下7个新的特性:

54bbf6a9427bea1d2870a82a4385240d.png
  • JEP 405: Record Patterns(Record模式)

  • JEP 422: Linux/RISC-V Port(Linux/RISC-V移植)

  • JEP 424: Foreign Function & Memory API(外部函数和内存API)

  • JEP 425: Virtual Threads(虚拟线程)

  • JEP 426: Vector API(向量API)

  • JEP 427: Pattern Matching for switch(switch模式匹配)

  • JEP 428: Structured Concurrency(结构化并发)

405:记录模式(预览阶段)

Record Patterns可对Record的值进行解构,通过嵌套Record模式和Type模式能够实现强大的、声明性的、可组合的数据导航和处理形式。

该特性目前处于预览阶段。

424: 外部函数和内存API(预览阶段)

Java程序可以通过该API与Java运行时之外的代码和数据进行互操作。

通过高效地调用外部函数(即JVM之外的代码)和安全地访问外部内存(即不受JVM 管理的内存),该API使Java程序能够调用本机库并处理本机数据,而不会像JNI那样危险和脆弱。

一句话总结就是该特性让Java调用普通native代码更加方便和高效。

425:虚拟线程(预览阶段)

新版本同样为Java引入了虚拟线程,虚拟线程是JDK实现的轻量级线程,它在其他多线程语言中已经被引入并且也证实了十分有用,比如Go中的Goroutine、Erlang中的进程等等。

虚拟线程可以避免上下文切换的额外耗费,兼顾了多线程的优点,简化了高并发程序的复杂,可以有效减少编写、维护和观察高吞吐量并发应用程序的工作量。

426:向量API(第四次孵化)

向量计算是由对向量的一系列操作而组成。向量API用来表达向量计算,而该计算可以在运行时可靠地编译为支持的CPU架构上的最佳向量指令,从而实现优于等效标量计算的性能。

向量API的目标是为用户提供简洁易用且与平台无关的表达范围广泛的向量计算。

427:switch模式匹配(第三次预览)

switch模式匹配最早曾在Java 17中就以预览功能的形式引入,即支持用switch表达式和语句的模式匹配以及对模式语言的扩展来增强 Java 编程语言。

更通俗一些说,也就是支持将模式匹配扩展到switch中,允许针对一些模式测试表达式,这样就可以简明而安全地表达复杂的面向数据的查询。

428:结构化并发(孵化阶段)

JDK 19引入了结构化并发,这是一种多线程编程方法,目的是为了通过结构化并发API来简化多线程编程,但需要注意的是这并不是为了取代java.util.concurrent,同时该功能目前也处于孵化阶段。

结构化并发将不同线程中运行的多个任务视为单个工作单元,从而简化错误处理、提高可靠性并增强可观察性。也就是说,结构化并发保留了单线程代码的可读性、可维护性和可观察性。

以上就是此次JDK更新的一些简要总结和梳理,可以看到其中大部分都是孵化特性和预览特性,看来很多特性功能都得在后面发布的LTS版中才能正式转正了。

参考阅读:

https://jdk.java.net/19/release-notes

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

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值