JDK/Java 16 可能帶來什麼新特性?

2020-12-16 開源中國

JDK 15 已於今年 9 月 15 日發布,這是一個短期版本,只會受到 Oracle 6 個月的支持。JDK 16 將作為標準 Java 版本的參考實現在 2021 年 3 月 16 日發布。與 JDK 15 一樣,JDK 16 也將是個短期版本,僅提供 6 個月的支持。預計於 2021 年 9 月發布的 JDK 17 將是一個長期支持(LTS)版本,會獲得數年的支持。目前的 LTS 版本 JDK 11 則於 2018 年 9 月發布。

JDK 16 現在處於 Early-Access(EA,早期訪問)階段,目前最新版本是 Build 26。

按 InfoWorld  所述,截至 2020 年 11 月 30 日,已有 14 個特性已被正式提了出來,還有 2 個特性則是預測性質。Java 16 即將推出的新功能或包括有:

  • 之前在 JDK 15 中預覽過,密封類和接口限制了哪些其他類和接口可以繼承或實現它們。該計劃的目標包括:允許類或接口的作者控制負責實現它的代碼,提供比訪問修飾符更聲明性的方式來限制超類的使用,並通過提供模式分析的基礎來支持模式匹配的未來方向。
  • 除了 misc.Unsafe 等關鍵的內部 API 外,默認情況下對 JDK 內部進行強封裝。用戶可以選擇自 JDK 9 以來默認的寬鬆的強封裝。
  • 外部連結程序 API,提供對本地代碼的靜態類型的純 Java 訪問。該 API 將在 JDK 16 中處於孵化階段。
  • 移動 ZGC(Z 垃圾收集器)線程堆棧處理從安全點到並發階段。該計劃的目標包括從 ZGC 安全點中刪除線程堆棧處理。
  • 彈性元空間能力,它可以將未使用的 HotSpot VM 類元數據(元空間)內存更迅速地返回給作業系統,從而減少元空間的佔用空間並簡化元空間代碼,從而降低維護成本。
  • 啟用 C ++ 14語言功能,允許在 JDK C ++原始碼中使用 C ++ 14功能。
  • 孵化器階段的矢量 API,其中 JDK 將配備一個孵化器模塊,jdk.incubator.vector,以表達可在支持的 CPU 架構上編譯為最佳矢量硬體指令的矢量計算,以實現優於等效標量計算的性能。
  • 將 JDK 移植到 Windows / AArch64平臺。
  • 在 x64和 AArch64體系結構上,將 JDK 移植到 Alpine Linux 和其他使用 musl 作為其主要 C 庫的 Linux 發行版。
  • 提供記錄類,作為不可更改數據的透明載體。
  • 增加 Unix 域套接字通道,其中在 nio.channels 包中的套接字通道和伺服器套接字通道 API 中增加了 Unix 域(AF_UNIX)套接字支持。
  • 外部存儲器訪問 API,允許 Java 程序安全地訪問 Java 堆外部的外部存儲器。
  • 用於 instanceof 運算符的模式匹配,在 JDK 14 和 JDK 15 中進行了預覽,將在 JDK 16 中完成。
  • 提供用於打包獨立 Java 應用程式的 jpackage 工具。
  • OpenJDK 源碼從 Mercurial 遷移到 Git,託管平臺也遷移到 GitHub。

詳情可查看:https://jdk.java.net/16/ 

相關焦點

  • JDK/Java 15 發布 - OSCHINA - 中文開源技術交流社區
    根據發布規劃,這是一個短期版本,只會受到 Oracle 6 個月的支持,直到明年 3 月 JDK 16 發布。受到 8 年長期支持的 LTS 每 3 年發布一個,上一次是 18 年 9 月的 JDK 11,下一次則是 JDK 17,將於明年發布。JDK/Java 15 的亮點包括加密籤名、文本塊、隱藏類、外部存儲器訪問 API、 ZGC、模式匹配和 Records 等。
  • OpenJdk1.8筆記——java啟動流程
    Jdk中java的入口函數文件為openjdk\jdk\src\share\bin\main.c中的main方法(window上為WinMain),然後調用jdk8u-dev/jdk/src/share/bin/java.c的JLI_Launch方法,啟動一個jvm虛擬機;程序入口
  • JDK1.8的新特性 | 技術
    JDK1.8目前在企業中已經廣泛被應用,今天我們將學習以下方面的新特性:· Lambda表達式· 函數式接口· 方法引用· 接口的默認方法和靜態方法· Optional· Streams· 並行數組Lambda 表達式,也可稱為閉包,它是推動 Java 8 發布的最重要新特性
  • JDK/Java 14 發布 - OSCHINA - 中文開源技術交流社區
    總共 16 個新特性如下:305:Pattern Matching for instanceof (Preview)為 instanceof 運算符引入模式匹配(預覽階段)通過模式匹配,開發者可以用更簡潔和更安全的方式來表達通用的程序邏輯。
  • 如何在Windows10系統中配置java的JDK環境
    今天給大家分享一下如何在Windows10系統中配置java的JDK環境。6.jdk會自動安裝一個自帶的jre環境,我安裝到 D:\jdk10\jre 路徑下作為演示;注意,此時jre環境需要安裝到一個新建的文件夾下面,所以,我在 D:\jdk10 路徑下面新建了一個 jre 文件夾,用來存放jre環境的安裝文件。
  • Java 11新特性:棄用Nashorn JavaScript引擎
    Java 11將聲明棄用Nashorn JavaScript腳本引擎,相關API和jjs工具,並在未來的版本中移除這些特性。Nashorn JavaScript引擎在Java 8中首次引入,完整實現了ECMAScript-262 5.1標準。
  • Java 15 即將到來,新特性速覽!
    在發布前夕,我們不妨先一窺新版 JDK 的新特性:第二個外部內存訪問 API(孵化階段),它將使 Java 程序安全高效地訪問 Java 堆以外的外部存儲器。該 API 應該能夠在各種外部內存(如本機、持久和託管堆)上進行操作。
  • 最新的java(jdk+jre)完整安裝教程——附詳細步驟
    承接上文,本文將介紹java的安裝與配置,也就是jdk+jre的詳細安裝過程,以供大家參考、學習。>jdk+jre的安裝包命名一般都是這樣的:jdk-8u211-windows-x64.exe如果名稱中有bin字眼,表示只有jdk,沒有jre
  • centos7.2下安裝java環境(JDK1.8)
    https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html2、下載需要帳號登錄才能獲得下載連結,獲得下載連結之後,我們可以用wget命令下載,保存到root文件夾,文件為:jdk-8u271-linux-x64.tar.gz
  • 最通俗易懂的 Java 10 新特性講解|原力計劃
    10 就是這麼一個小版本,因為 Java 的後續版本基本都會包含之前新特性,所以還是把 Java 10 帶來的改變單獨寫一寫。JEP 322 - 基於時間的版本號就像上面說的,Java 調整了發布策略,為了適應這種發布節奏,隨之改變的還有 Java 版本號的記錄方式。版本號的新模式是:$FEATURE.$INTERIM.$UPDATE.
  • 剛剛,JDK 12 早期試用版發布了!你學的過來嗎?
    參考http://jdk.java.net/12https://download.java.net/java/early_access/jdk12/docs/apihttp://hg.openjdk.java.net/jdk/jdk/log?
  • 【終極版】Java8 新特性全面介紹,強烈建議收藏
    Nashorn, JavaScript 引擎:Java 8提供了一個新的Nashorn javascript引擎,它允許我們在JVM上運行特定的javascript應用有很多人認為,Java 8 的一些新特性另 Java 開發人員十分滿意,在本篇文章中,我們將詳細介紹 Java 8 的這些新特性!
  • 詳解java並發原子類AtomicInteger(基於jdk1.8源碼分析)
    java並發包裡面的類一直是學習和面試的重點,這篇文章主要是對java並發包的其中一個類AtomicInteger的講解。從為什麼要出現AtomicInteger再到其底層原理來一個分析。一、從a++說起為什麼使用AtomicInteger我們知道java並發機制中主要有三個特性需要我們去考慮,原子性、可見性和有序性。
  • Java 8新特性探究(十二)Nashorn :新犀牛
    Nashorn是什麼Nashorn,發音「nass-horn」,是德國二戰時一個坦克的命名,同時也是java8新一代的javascript引擎--替代老舊,緩慢的Rhino,符合 ECMAScript-262 5.1
  • Java面試必問之Hashmap底層實現原理(JDK1.7)
    前言Hashmap可以說是Java面試必問的,一般的面試題會問:Hashmap有哪些特性?Hashmap底層實現原理(get\put\resize)Hashmap怎麼解決hash衝突?構造方法首先看構造方法的源碼由以上源碼可知,Hashmap的初始容量默認是16, 底層存儲結構是數組(到這裡只能看出是數組, 其實還有鍊表,下邊看源碼解釋)。基本存儲單元是Entry,那Entry是什麼呢?我們接著看Entry相關源碼由Entry源碼可知,Entry是鍊表結構。
  • Java核心技術精講PDF掃描版下載
    《Java核心技術精講》內容包括Java簡介、Java基礎語法、面向對象、異常的捕獲及處理、包及訪問控制權限、Java新特性、多線程、常用類庫、JavaIO操作、網絡編程、類集框架、Java資料庫編程、DAO設計模式、Eclipse開發工具。
  • JAVA工具JDK安裝配置詳解
    5.使用滑鼠右鍵點擊【此電腦】-【屬性】-【高級系統設置】開啟系統屬性的界面,在【系統屬性】的界面中切換至【高級】選項卡,點擊打開下面的【環境變量】6.在這裡我們新建一個用戶變量,如下:點擊【新建】,在新建的界面中,設置輸入變量名為JAVA_HOME,變量值指向你安裝JDK的目錄,這裡為C:\program files\java
  • shell-安裝jdk腳本
    前言在Linux安裝jdk是很簡單的事情,那就讓shell腳本去做吧!安裝到oracle官網的歸檔網址下載需要的jdk壓縮包,並放到腳本所在的目錄,然後cd到腳本目錄執行就可以,這裡是1.8.172版本為例:http://www.oracle.com/technetwork/java/archive-139210.html#!
  • JAVA入門:從什麼是JAVA到編寫第一個java程序只需看這一篇
    (1) 官 方 網 址 :http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html(2)下 一 步 即 可 。建議:安裝路徑不要有中文或者特殊符號如空格等。
  • 關於每個版本特性的Java 面試題
    2、如果將javac設置為了Java5以下,那麼靜態導入等jdk1.5的特性都會報告錯誤。7)新的線程模型和並發庫Thread Framework(重要)答: 最主要的就是引入了 java.util.concurrent 包,這個都是需要重點掌握的。