Java 重大升級馬上來了:JDK 11 新特性瞭解一下

Java11,目前處於發佈候選階段的下一版 Java 編程語言,預計將於 2018 年 9 月 25 日全面上市。距離現在還有 2 周時間。由於Oracle 計劃於 2019 年 1 月推出針對 JDK 8 的 “Commercial User End of Public Updates”,估計會有許多用戶打算在此之前遷移到 JDK 11。

你準備好了嗎?

Java Development Kit(JDK)11 不僅僅是一個升級版。 它是 Java 語言的一個大有改善的版本,其中有幾個功能專注於性能。 以下是 JDK 11 中可用的新特性列表。

基於嵌套的訪問控制
嵌套是一種訪問控制上下文,與 Java 編程語言中現有的嵌套類型概念一致。 嵌套允許邏輯上屬於同一代碼實體,但被編譯爲不同類文件的類,無需編譯器插入可訪問性擴展橋接方法,即可訪問彼此的私有成員。

動態類文件常量
擴展 Java 類文件格式以支持新的常量池形式,CONSTANT_Dynamic。 加載CONSTANT_Dynamic 會將創建委託給 bootstrap 方法,就像鏈接 invokedynamic 調用站點將鏈接委託給 bootstrap 方法一樣。

改進 Aarch64 內聯函數
改進現有的字符串和數組內聯函數,並在 AArch64 處理器上爲 java.lang.Math sin,cos 和 log 函數實現新的內聯函數。

Epsilon:No-Op 垃圾收集器
開發一個處理內存分配但不實現任何實際內存回收機制的 GC。 一旦可用的 Java 堆耗盡,JVM 將關閉。

刪除 Java EE 和 CORBA 模塊
從 Java SE Platform 和 JDK 中刪除 Java EE 和 CORBA 模塊。這些模塊在 Java SE 9 中已棄用,聲明的目的是爲了在將來的版本中刪除它們。

HTTP 客戶端(標準)
通過 JEP 110 標準化 JDK 9 中引入的孵化 HTTP 客戶端 API,並在 JDK 10 中進行更新。

Lambda 參數的本地變量語法
在聲明隱式類型的 lambda 表達式的形式參數時允許使用 var。

Curve25519 和 Curve448 密鑰協議
使用 RFC 7748 中描述的 Curve25519 和 Curve448 實現密鑰協議。

Unicode 10
升級現有平臺 API 以支持 Unicode 標準 v10.0。

運行記錄儀
提供低開銷的數據收集框架,用於對 Java 應用程序和 HotSpot JVM 進行故障排除。

ChaCha20 和 Poly1305 密碼算法
實現 RFC 7539 中指定的 ChaCha20 和 ChaCha20-Poly1305 密碼。ChaCha20 是一種相對較新的流密碼,可以替代舊的、不安全的 RC4 流密碼。

啓動單文件源代碼程序
增強 java 啓動程序以運行作爲 Java 源代碼的單個文件提供的程序,包括通過“shebang”文件和相關技術從腳本中使用。

低開銷堆分析
提供一種低開銷的 Java 堆分配採樣方法,可通過 JVMTI 訪問。

傳輸層安全性(TLS)1.3
實現傳輸層安全性(TLS)協議 RFC 8446 的 1.3 版。

ZGC:可擴展的低延遲垃圾收集器
Z 垃圾收集器,也稱爲 ZGC,是一個可擴展的低延遲垃圾收集器。

棄用 Nashorn JavaScript 引擎
棄用 Nashorn JavaScript 腳本引擎和 API 以及 jjs 工具,意圖在將來的版本中刪除它們。

棄用 Pack200 工具和 API
在 java.util.jar 中棄用 pack200 和 unpack200 工具以及 Pack200 API。

OneAPM 爲您提供端到端的 Java 應用性能 解決方案,我們支持所有常見的 Java 框架及應用服務器,助您快速發現系統瓶頸,定位異常根本原因。分鐘級部署,即刻體驗,Java 監控從來沒有如此簡單。想閱讀更多技術文章,請訪問 OneAPM 官方技術博客 。
轉:http://blog.oneapm.com/apm-tech/826.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章