当前位置: 欣欣网 > 码农

昨天晚上 JDK 22 都发布正式版本了,学不动了,学不动了...

2024-03-22码农

前言

大家好,这里是顶尖架构师栈!点击上方关注,添加「 星标 」,切勿错过每日干货分享,一起学习大厂前沿架构!

刚刚在网上冲浪的时候,发现昨天晚上 JDK 22 版本「悄悄咪咪」的发布了 GA 版本。

https://openjdk.org/projects/jdk/22/

GA 版本,就是 「General Availability」 的缩写,如果对外发布一个 GA 版本,就意味着这个版本已经经过全面的测试,不存在任何重大的 bug,官方开始推荐广泛使用了。

在 JDK 22 版本里面一共发布了 12 个新特性:

这 12 个新特性,涉及到 Java 核心库、Java 语言规范、Java 开发工具、JVM 这四个大方向。

关于每个新特性的介绍和带来的价值,官方的这篇文章写的比较清楚了:

https://inside.java/2024/03/19/the-arrival-of-java-22/

可以仔细看看官方的这篇文章,虽然全是英文,不要害怕,摸鱼的时候可以结合翻译软件慢慢看嘛,毕竟这里属于是第一手资料了。

看到自己感兴趣的新特性,可以点击对应的详细描述进一步了解相关情况。最好是把 JDK 22 版本拉下来,把官方介绍里面的 Demo 拿下来跑跑。

歪师傅这里就不带着大家进行一一翻译,解读了(主要是有些新特性我也没看懂)。

只是浅浅的看一个点:

  • 460:Vector API (Seventh Incubator)

  • https://openjdk.org/jeps/460

    你看一下它的简介,大概是在说提供了一套关于向量计算的 API,这些向量计算在运行时,如果对应的 CPU 架构支持优化,那么可以编译成最佳向量指令,从而达到更牛逼的计算性能。

    为啥我要把这个玩意单独拿出来说呢?

    还记得我之前文章中提到过的「十亿行挑战」吗?

    https://github.com/gunnarmorling/1brc

    其中在优化手段建议部分,就提到了「Vector API」。

    我也是在这里第一次接触到这个玩意,然后临时抱佛脚的了解了一下。在大量数据的计算场景下,你只要用这个语法编写代码,那么这个玩意会给你提供 CPU 指令级别的优化:

    虽然我看不懂,但是这并不妨碍我大受震撼。

    而且我也知道,在我的实际工作中,绝对是用不到这个新特性的,但是我通过另外一个方式了解过,和别人吹牛的时候也能聊上几句。

    另外,我还想「挖个坟」。

    在 JDK 21 发布的时候,我也写过这样一篇文章:

    在文章中,我提到:根据官方的消息,最开始 JDK 21 的版本中是包含了 Shenandoah 的。但是 JDK 12 的 GA 版本中并没有看到它的影子。

    当时官方的说法是:因为 Shenandoah 在审查的过程中发现了明确的风险,并且没有足够的时间来进行针对大量代码改动所需的评审。

    翻译过来就是:别问,问就是时间紧,任务重,申请延期。

    然后画了一个新饼:

    现在 JDK 22 也 GA 了...

    没有任何 Shenandoah 的消息。

    果然,印证了那句老话呀:不要轻易画饼啊。

    哦,对了,还有一件事:

    昨天除了发布 JDK 22 外,JavaOne 大会也官宣要回归了,只不过是 2025 年:

    可以期待一波。

    最后全文最重要的一句话来了:

    你发任你发…… (请评论区对暗号)

    ·············· END ··············

    IT一线从业者抱团群

    致力于帮助广大开发者提供高效合适的工具,让大家能够腾出手做更多创造性的工作,也欢迎大家分享自己公司的内推信息,相互帮助,一起进步!

    组建了程序员,架构师,IT从业者交流群,以 交流技术 职位内推 行业探讨 为主

    加大佬 好友 ,备注"加群"