JDK 16 GA 發(fā)布,你還停留在JDK 8嗎?
點擊上方 java項目開發(fā) ,選擇 星標 公眾號
重磅資訊,干貨,第一時間送達
3 月 16 日,OpenJDK 官網(wǎng)如期公布了 JDK 16 GA 版本。與 Java 15 一樣,該版本的支持時間只有 6 個月。
GA 是指 General Availability,也就是官方開始推薦可以廣泛使用的版本。

官網(wǎng)截圖
該版本一共進行了 17 項更新,涉及新特性改進、新工具、孵化功能等,具體有哪些更新,我們一起來看下:
Vector API
孵化器階段的向量 API,其中 JDK 將安裝一個孵化器模塊,用于表示編譯為支持的 CPU 體系結(jié)構(gòu)上的最佳矢量硬件指令的矢量計算,以實現(xiàn)與等效標量計算更高的性能。
啟用 C++ 14 語言功能
允許在 JDK C++ 源代碼中使用C++ 14功能,并提供有關(guān)部分功能可用于 HotSpot VM 代碼的特定指導(dǎo)。
OpenJDK 源代碼存儲庫從 Mercurial 遷移到 Git
推動這項工作是借助版本控制系統(tǒng)元數(shù)據(jù)和可用工具及托管方面的優(yōu)勢。
OpenJDK 源碼遷移到 Github
ZGC 并發(fā)線程堆棧處理
將ZGC線程堆棧處理從安全點移至并發(fā)階段。
增加 Unix 域套接字通道
其中 Unix 域 (AF_UNIX) 套接字支持添加到 nio.channels 包中的套接字通道和服務(wù)器套接字通道 API 中。該計劃還擴展了繼承的通道機制,以支持 Unix 域套接字通道和服務(wù)器套接字通道。Unix 域套接字用于同一主機上的進程間通信。它們在很多方面與 TCP/IP 套接字類似,只是它們由文件系統(tǒng)路徑名稱而不是 IP 地址和端口號尋址。新功能的目標是支持 Unix 域套接字通道的所有功能,這些功能在主要 Unix 平臺和 Windows 中很常見。
將 JDK 移植到 Alpine Linux 和其他使用 musl 作為主 C 庫的 Linux 發(fā)行版
在 x64 和 AArch64 體系結(jié)構(gòu)上,將JDK移植到 Alpine Linux 以及使用musl作為其主要C庫的其他Linux發(fā)行版中。
彈性元空間功能
它將可以更迅速地將未使用的 HotSpot VM 類元數(shù)據(jù)(元空間)內(nèi)存返回到操作系統(tǒng),減少元空間占用空間并簡化元空間代碼以降低維護成本。
將 JDK 移植到 Windows/AArch64 平臺
隨著新的服務(wù)器級和使用者 AArch64 (ARM64) 硬件的發(fā)布,Windows/AArch64 已成為一個重要的平臺。
外部鏈接程序 API
提供靜態(tài)類型、純 Java 對本機代碼的訪問。此 API 將在 JDK 16 中處于孵化器階段。
對基于值的類進行警告
對在 Java 中錯誤進行基于值類實例的操作發(fā)出警告。
包裝工具
提供jpackage工具,用于打包獨立的Java應(yīng)用程序。
外部存儲器訪問 API
引入一個允許Java程序安全有效地訪問Java堆之外的外部內(nèi)存 API。
instanceof 模式匹配
在 JDK 16 上,模式匹配允許程序中的通用邏輯,即從對象中提取組件,可以更簡潔、更安全地表達.instanceof 運算符。
Records
為不可變的數(shù)據(jù)載體提供記錄類。
默認情況下,對 JDK 內(nèi)部進行強封裝
用戶可以選擇自 JDK 9 以來默認的寬松強封裝。此建議的目標包括提高 JDK 的安全性和可維護性,作為項目 Jigsaw 的一部分,并鼓勵開發(fā)人員從使用內(nèi)部元素遷移到使用標準 API,以便開發(fā)人員和最終用戶都可以輕松地更新到未來的 Java 版本。
密封類
以前在 JDK 15 中預(yù)覽的密封類和接口限制其他類和接口可以擴展或?qū)崿F(xiàn)它們。該計劃的目標包括,允許類或接口的作者控制負責(zé)實現(xiàn)它的代碼,提供比訪問修飾符更聲明性的方式來限制超類的使用,以及通過提供模式分析的基礎(chǔ)來支持模式匹配的未來方向。
參考:
https://openjdk.java.net/projects/jdk/16/
https://blog.csdn.net/csdnnews/article/details/110483909
推薦閱讀:
怎么接私貨?這個渠道你100%有用!請收藏!
