Java SE Development Kit是一款專業(yè)的Java語(yǔ)言編程工具,是使用 Java 編程語(yǔ)言構(gòu)建應(yīng)用程序和組件的開(kāi)發(fā)環(huán)境。涉及到新語(yǔ)言特性、改進(jìn) JVM、新工具和庫(kù)、對(duì)未來(lái)功能的驗(yàn)證、孵化和預(yù)覽階段的功能以及提升生產(chǎn)效率這幾大方面,用最簡(jiǎn)潔的編寫(xiě)代碼方式完成開(kāi)發(fā)!
JDK16軟件功能
Vector API (Incubator)
處于孵化階段的 Vector API,其中 JDK 將配備一個(gè)孵化器模塊jdk.incubator.vector,用于表達(dá)可在支持的 CPU 架構(gòu)上編譯為最佳矢量硬件指令的矢量計(jì)算,以實(shí)現(xiàn)優(yōu)于等效標(biāo)量計(jì)算的性能。
Enable C++14 Language Features
啟用 C++14 語(yǔ)言特性,支持在 JDK C++ 源代碼中使用 C++14 語(yǔ)言特性。
Migrate from Mercurial to Git
OpenJDK 源代碼庫(kù)從 Mercurial 遷移到 Git。
Migrate to GitHub
OpenJDK 源代碼庫(kù)遷移到 GitHub,此變化是基于 OpenJDK 源代碼庫(kù)從 Mercurial 遷移到 Git。
ZGC: Concurrent Thread-Stack Processing
將 ZGC 線程堆棧處理從安全點(diǎn)移動(dòng)到并發(fā)階段。此計(jì)劃的目標(biāo)包括從 ZGC 安全點(diǎn)中刪除線程堆棧處理。
Unix-Domain Socket Channels
為java.nio.channels包中的 socket channel 和 server-socket channel API 添加 Unix-domain (AF_UNIX) 支持。
Alpine Linux Port
針對(duì) x64 以及 AArch64 架構(gòu),將 JDK 移植到 Alpine Linux 以及其他使用 musl 作為主要 C 語(yǔ)言庫(kù)的 Linux 發(fā)行版上。
Elastic Metaspace
彈性元空間 (Elastic Metaspace) 能力,它可以將未使用的 HotSpot VM 類元數(shù)據(jù)(元空間)內(nèi)存更迅速地返回給操作系統(tǒng),從而減少元空間的占用空間并簡(jiǎn)化元空間代碼,以及降低維護(hù)成本。
Windows/AArch64 Port
將 JDK 移植到 Windows/AArch64 平臺(tái)。
Foreign Linker API (Incubator)
處于孵化階段的 Foreign Linker API(外部鏈接器 API),該 API 用于對(duì)本地代碼進(jìn)行靜態(tài)類型訪問(wèn)。
Warnings for Value-Based Classes
對(duì)基于值的類 (Value-Based Classes) 進(jìn)行警告。在 Java 平臺(tái)中對(duì)于任何基于值的類實(shí)例進(jìn)行同步的錯(cuò)誤嘗試,會(huì)予以警告。
Packaging Tool
提供用于打包獨(dú)立 Java 應(yīng)用程序的 jpackage 工具。
Foreign-Memory Access API (Third Incubator)
處于孵化器第三階段的 Foreign-Memory Access API,該 API 允許 Java 應(yīng)用程序安全有效地訪問(wèn) Java 堆之外的外部?jī)?nèi)存。
Pattern Matching for instanceof
為 instanceof 操作符提供模式匹配。模式匹配使程序中的通用邏輯(即從對(duì)象中有條件地提取組件)得以更簡(jiǎn)潔、更安全地表達(dá)。
Records
Records 提供了一種緊湊的語(yǔ)法來(lái)聲明類,以幫助開(kāi)發(fā)者寫(xiě)出更簡(jiǎn)潔的代碼,這些類是淺層不可變數(shù)據(jù)(shallowly immutable data)的透明擁有者。該特性主要用在特定領(lǐng)域的類,這些類主要用于保存數(shù)據(jù),不提供領(lǐng)域行為。
Strongly Encapsulate JDK Internals by Default
除了sun.misc.Unsafe等關(guān)鍵的內(nèi)部 API 外,默認(rèn)對(duì) JDK 內(nèi)部進(jìn)行強(qiáng)封裝,用戶也可以選擇自 JDK 9 以來(lái)默認(rèn)的寬松強(qiáng)封裝。
Sealed Classes (Second Preview)
Sealed class & interface(密封類和接口)可以限制哪些類和接口可以繼承或?qū)崿F(xiàn)它們。