JDK/Java 16 GA

www88xbocom17176934555發表於2021-03-20

根據釋出規劃,JDK/Java 16 屬於短期維護版本,僅有 6 個月的技術支援。下一個版本——計劃9月釋出的 JDK/Java 17 (21.9 LTS) 才是長期支援版本。

圖片

JDK/Java 16 的亮點包括孵化階段的 Vector API、密封類和介面、將 JDK 移植到 Windows / AArch64平臺、啟用 C++14 語言特性,以及將 ZGC 執行緒堆疊處理從安全點移動到併發階段等。

JDK/Java 16 總共包含 17 個 JEP,涉及到新語言特性、改進 JVM、新工具和庫、對未來功能的驗證、孵化和預覽階段的功能以及提升生產效率這幾大方面。

| 338: | Vector API (Incubator) |
| 347: | Enable C++14 Language Features |
| 357: | Migrate from Mercurial to Git |
| 369: | Migrate to GitHub |
| 376: | ZGC: Concurrent Thread-Stack Processing |
| 380: | Unix-Domain Socket Channels |
| 386: | Alpine Linux Port |
| 387: | Elastic Metaspace |
| 388: | Windows/AArch64 Port |
| 389: | Foreign Linker API (Incubator) |
| 390: | Warnings for Value-Based Classes |
| 392: | Packaging Tool |
| 393: | Foreign-Memory Access API (Third Incubator) |
| 394: | Pattern Matching for instanceof |
| 395: | Records |
| 396: | Strongly Encapsulate JDK Internals by Default |
| 397: | Sealed Classes (Second Preview) |

圖片

處於孵化階段的 Vector API,其中 JDK 將配備一個孵化器模組jdk.incubator.vector,用於表達可在支援的 CPU 架構上編譯為最佳向量硬體指令的向量計算,以實現優於等效標量計算的效能。

啟用 C++14 語言特性,支援在 JDK C++ 原始碼中使用 C++14 語言特性。

OpenJDK 原始碼庫從 Mercurial 遷移到 Git。

OpenJDK 原始碼庫遷移到 GitHub,此變化是基於 OpenJDK 原始碼庫從 Mercurial 遷移到 Git。

將 ZGC 執行緒堆疊處理從安全點移動到併發階段。此計劃的目標包括從 ZGC 安全點中刪除執行緒堆疊處理。

java.nio.channels包中的 socket channel 和 server-socket channel API 新增 Unix-domain (AF_UNIX) 支援。

針對 x64 以及 AArch64 架構,將 JDK 移植到 Alpine Linux 以及其他使用 musl 作為主要 C 語言庫的 Linux 發行版上。

彈性元空間 (Elastic Metaspace) 能力,它可以將未使用的 HotSpot VM 類後設資料(元空間)記憶體更迅速地返回給作業系統,從而減少元空間的佔用空間並簡化元空間程式碼,以及降低維護成本。

將 JDK 移植到 Windows/AArch64 平臺。

處於孵化階段的 Foreign Linker API(外部連結器 API),該 API 用於對原生程式碼進行靜態型別訪問。

對基於值的類 (Value-Based Classes) 進行警告。在 Java 平臺中對於任何基於值的類例項進行同步的錯誤嘗試,會予以警告。

提供用於打包獨立 Java 應用程式的 jpackage 工具。

處於孵化器第三階段的 Foreign-Memory Access API,該 API 允許 Java 應用程式安全有效地訪問 Java 堆之外的外部記憶體。

為 instanceof 操作符提供模式匹配。模式匹配使程式中的通用邏輯(即從物件中有條件地提取元件)得以更簡潔、更安全地表達。

Records 提供了一種緊湊的語法來宣告類,以幫助開發者寫出更簡潔的程式碼,這些類是淺層不可變資料(shallowly immutable data)的透明擁有者。該特性主要用在特定領域的類,這些類主要用於儲存資料,不提供領域行為。

除了sun.misc.Unsafe等關鍵的內部 API 外,預設對 JDK 內部進行強封裝,使用者也可以選擇自 JDK 9 以來預設的寬鬆強封裝。

Sealed class & interface(密封類和介面)可以限制哪些類和介面可以繼承或實現它們。

read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...
read.douban.com/reader/column/3886...

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章