1. 程式人生 > >詳解 Java 11 新特性, Java高階程式設計師必備

詳解 Java 11 新特性, Java高階程式設計師必備

Java 11新特性的詳細解釋。JDK 11已經於 2018年9月25日正式釋出,那麼Java 11主要包含哪些新特性呢?
Java_logo_icon_700x392

JDK 11是Java SE 11平臺版本11的開源參考實現,由JSR 384在Java Community Process中指定。
阿里巴巴是中國唯一的JCP委員會成員公司,參與Java規範制定。
該版本的功能和時間表是通過JEP流程提出和跟蹤的,並由JEP 2.0提案進行了修訂。 使用JDK Release Process(JEP 3)生成釋出。

1、Java11 主要新特性 詳解

181:巢狀訪問控制 Nest-Based Access Control
詳解:
Java 11中引入了一個名為nest的新訪問控制上下文,它與Java中的術語“巢狀型別”相關聯。 它允許邏輯上屬於同一程式碼實體的類,但是可以為特定的類檔案進行編譯。 可以在沒有編譯器需要用於這種訪問的輔助方法的情況下實現相應的私有訪問控制。

309:動態類檔案常量Dynamic Class-File Constants
詳解:
Java類檔案格式在Java 11中支援新形式CONSTANT_Dynamic。 載入CONSTANT_Dynamic時,會將生成委託給bootstrap方法,類似於invokedynamic呼叫所發生的操作。

315:改進Aarch64內部函式Improve Aarch64 Intrinsics
詳解:
改進了AArch64處理器的現有字串和陣列內部函式以及java.lang.Math函式sin,cos和log的新CPU體系架構上的特定程式碼模式。

318:Epsilon:No-Op垃圾收集器,Epsilon: A No-Op Garbage Collector
詳解:
Java 11中將引入一個新的垃圾收集器,它在分配記憶體時不實現任何實際記憶體回收機制的GC。 一旦可用的Java堆耗盡,JVM將關閉。

320:刪除過期的Java EE和CORBA模組Remove the Java EE and CORBA Modules
詳解:
Java EE和CORBA模組將從Java SE 11平臺和JDK11中刪除。

321:HTTP客戶端(標準)HTTP Client (Standard)
詳解:
標準化HTTP客戶端API,這些API在 JDK 9中加入,並在JDK 10中進行了更新。

323:改進Lambda引數的本地變數語法Local-Variable Syntax for Lambda Parameters
詳解:
Java 11中引入了關鍵字var,用於宣告隱式型別的lambda表示式的引數。 這使隱式型別的lambda表示式的語法適應區域性變數宣告的語法,保持一致。 示例:(var x,var y) - > x.process(y)//隱式型別的lambda表示式

324:與Curve25519和Curve448的關鍵協議Key Agreement with Curve25519 and Curve448
詳解:
從RFC 7748實現加密圖形加密演算法方案Curve25519和Curve448規範。 可以保證更安全地交換金鑰資料。

327:Unicode 10規範
詳解:
將現有平臺API更新為Unicode標準10.0版。

328:飛行記錄器 Flight Recorder
詳解:
Flight Recorder工具從應用程式、JVM和作業系統中收集rizhi資料,這些資料可以幫助分析和解決Java應用程式和HotSpot JVM的故障。

329:ChaCha20和Poly1305密碼演算法ChaCha20 and Poly1305 Cryptographic Algorithms
詳解:
根據RFC 7539中的ChaCha20和Poly1305演算法實現流加密。 取代舊的和不安全的RC4流密碼演算法。

330:啟動單檔案原始碼應用程式Launch Single-File Source-Code Programs
詳解:
擴充套件Java啟動程式,可以啟動由單個原始碼檔案組成的Java程式。 此外,應該可以通過所謂的“shebang檔案”在指令碼中啟動。

331:低效能開銷的堆分析與監控功能Low-Overhead Heap Profiling
為Java堆分配提供可通過JVMTI訪問的抽樣監控與分析機制。
詳解:
332:傳輸層安全性規範(TLS)1.3 Transport Layer Security (TLS) 1.3
實現TLS協議,版本1.3(傳輸層安全性協議)。

333:ZGC:可擴充套件的低延遲垃圾收集器(實驗性質)ZGC: A Scalable Low-Latency Garbage Collector(Experimental)
詳解:
推出新的Z垃圾收集器(ZGC),承諾低延遲。 GC暫停時間低於10毫秒,高可擴充套件性高達數TB,與G1垃圾收集器相比,應用程式吞吐量降低了不到15%。 ZGC將作為實驗性功能整合到JDK 11中,並初步支援Linux / x64平臺。

335:棄用JavaScript引擎Rhino Deprecate the Rhino JavaScript Engine
詳解:
JavaScript引擎Rhino,相應的API和工具jjs被標記為“已棄用”。 從JDK 11版本中刪除。

336:棄用Pack 200工具包和API Deprecate the Pack200 Tools and API
詳解:
java.util.jar中的API Pack200應標記為“已棄用”,徹底過期。 Pack 200是Java 5中引入的JAR檔案的壓縮方案,目前被認為是過時方案,不在使用。

2、阿里巴巴Java千人群
歡迎加入阿里Java群,目前超過1600人,直播課程,阿里Java專家。
C926B5D9_9BC2_4452_B14E_7F2F506EDAF9