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