當前位置: 妍妍網 > 碼農

昨天晚上 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從業者交流群,以 交流技術 職位內推 行業探討 為主

    加大佬 好友 ,備註"加群"