JDK 16 GA 發(fā)布,你還停留在JDK 8嗎?
3 月 16 日,OpenJDK 官網(wǎng)如期公布了 JDK 16 GA 版本。與 Java 15 一樣,該版本的支持時(shí)間只有 6 個(gè)月。
GA 是指 General Availability,也就是官方開(kāi)始推薦可以廣泛使用的版本。

官網(wǎng)截圖
該版本一共進(jìn)行了 17 項(xiàng)更新,涉及新特性改進(jìn)、新工具、孵化功能等,具體有哪些更新,我們一起來(lái)看下:
Vector API
孵化器階段的向量 API,其中 JDK 將安裝一個(gè)孵化器模塊,用于表示編譯為支持的 CPU 體系結(jié)構(gòu)上的最佳矢量硬件指令的矢量計(jì)算,以實(shí)現(xiàn)與等效標(biāo)量計(jì)算更高的性能。
啟用 C++ 14 語(yǔ)言功能
允許在 JDK C++ 源代碼中使用C++ 14功能,并提供有關(guān)部分功能可用于 HotSpot VM 代碼的特定指導(dǎo)。
OpenJDK 源代碼存儲(chǔ)庫(kù)從 Mercurial 遷移到 Git
推動(dòng)這項(xiàng)工作是借助版本控制系統(tǒng)元數(shù)據(jù)和可用工具及托管方面的優(yōu)勢(shì)。
OpenJDK 源碼遷移到 Github
ZGC 并發(fā)線程堆棧處理
將ZGC線程堆棧處理從安全點(diǎn)移至并發(fā)階段。
增加 Unix 域套接字通道
其中 Unix 域 (AF_UNIX) 套接字支持添加到 nio.channels 包中的套接字通道和服務(wù)器套接字通道 API 中。該計(jì)劃還擴(kuò)展了繼承的通道機(jī)制,以支持 Unix 域套接字通道和服務(wù)器套接字通道。Unix 域套接字用于同一主機(jī)上的進(jìn)程間通信。它們?cè)诤芏喾矫媾c TCP/IP 套接字類(lèi)似,只是它們由文件系統(tǒng)路徑名稱(chēng)而不是 IP 地址和端口號(hào)尋址。新功能的目標(biāo)是支持 Unix 域套接字通道的所有功能,這些功能在主要 Unix 平臺(tái)和 Windows 中很常見(jiàn)。
將 JDK 移植到 Alpine Linux 和其他使用 musl 作為主 C 庫(kù)的 Linux 發(fā)行版
在 x64 和 AArch64 體系結(jié)構(gòu)上,將JDK移植到 Alpine Linux 以及使用musl作為其主要C庫(kù)的其他Linux發(fā)行版中。
彈性元空間功能
它將可以更迅速地將未使用的 HotSpot VM 類(lèi)元數(shù)據(jù)(元空間)內(nèi)存返回到操作系統(tǒng),減少元空間占用空間并簡(jiǎn)化元空間代碼以降低維護(hù)成本。
將 JDK 移植到 Windows/AArch64 平臺(tái)
隨著新的服務(wù)器級(jí)和使用者 AArch64 (ARM64) 硬件的發(fā)布,Windows/AArch64 已成為一個(gè)重要的平臺(tái)。
外部鏈接程序 API
提供靜態(tài)類(lèi)型、純 Java 對(duì)本機(jī)代碼的訪問(wèn)。此 API 將在 JDK 16 中處于孵化器階段。
對(duì)基于值的類(lèi)進(jìn)行警告
對(duì)在 Java 中錯(cuò)誤進(jìn)行基于值類(lèi)實(shí)例的操作發(fā)出警告。
包裝工具
提供jpackage工具,用于打包獨(dú)立的Java應(yīng)用程序。
外部存儲(chǔ)器訪問(wèn) API
引入一個(gè)允許Java程序安全有效地訪問(wèn)Java堆之外的外部?jī)?nèi)存 API。
instanceof 模式匹配
在 JDK 16 上,模式匹配允許程序中的通用邏輯,即從對(duì)象中提取組件,可以更簡(jiǎn)潔、更安全地表達(dá).instanceof 運(yùn)算符。
Records
為不可變的數(shù)據(jù)載體提供記錄類(lèi)。
默認(rèn)情況下,對(duì) JDK 內(nèi)部進(jìn)行強(qiáng)封裝
用戶(hù)可以選擇自 JDK 9 以來(lái)默認(rèn)的寬松強(qiáng)封裝。此建議的目標(biāo)包括提高 JDK 的安全性和可維護(hù)性,作為項(xiàng)目 Jigsaw 的一部分,并鼓勵(lì)開(kāi)發(fā)人員從使用內(nèi)部元素遷移到使用標(biāo)準(zhǔn) API,以便開(kāi)發(fā)人員和最終用戶(hù)都可以輕松地更新到未來(lái)的 Java 版本。
密封類(lèi)
以前在 JDK 15 中預(yù)覽的密封類(lèi)和接口限制其他類(lèi)和接口可以擴(kuò)展或?qū)崿F(xiàn)它們。該計(jì)劃的目標(biāo)包括,允許類(lèi)或接口的作者控制負(fù)責(zé)實(shí)現(xiàn)它的代碼,提供比訪問(wèn)修飾符更聲明性的方式來(lái)限制超類(lèi)的使用,以及通過(guò)提供模式分析的基礎(chǔ)來(lái)支持模式匹配的未來(lái)方向。
參考:
https://openjdk.java.net/projects/jdk/16/
https://blog.csdn.net/csdnnews/article/details/110483909
推薦閱讀
? 突發(fā)!云計(jì)算巨頭數(shù)據(jù)中心起火,致350萬(wàn)家網(wǎng)站下線、部分客戶(hù)數(shù)據(jù)丟失無(wú)法恢復(fù) ?一個(gè)完整的、全面k8s化的集群穩(wěn)定架構(gòu)(值得借鑒) ? 2020年國(guó)內(nèi)互聯(lián)網(wǎng)公司的薪酬排名! ? 基于SpringBoot 的CMS系統(tǒng),拿去開(kāi)發(fā)企業(yè)官網(wǎng)真香 ? 深度介紹分布式系統(tǒng)原理與設(shè)計(jì) ? 程序員因違反竟業(yè)協(xié)議,賠騰訊97.6萬(wàn)... ? 阿里一面:如何保證API接口數(shù)據(jù)安全? ? 徒手?jǐn)]了一個(gè)RPC框架,理解更透徹了,代碼已上傳github,自取~ ? 一個(gè)完整的外賣(mài)系統(tǒng) ? 防止刪庫(kù)跑路?市值縮水近 24 億元!就靠堡壘機(jī)?這貨這么吊?
