前言
大家好,這裏是頂尖架構師棧!點選上方關註,添加「 星標 」,切勿錯過每日幹貨分享,一起學習大廠前沿架構!
剛剛在網上沖浪的時候,發現昨天晚上 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從業者交流群,以
交流技術
、
職位內推
、
行業探討
為主
加大佬 好友 ,備註"加群"