中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JDK11 | 第一篇 : JDK11 介紹

發布時間:2020-07-04 17:43:03 來源:網絡 閱讀:377 作者:程序員果果 欄目:編程語言

文章首發于公眾號《程序員果果》

地址 : https://mp.weixin.qq.com/s/cOqRVlDgOqfDfKtkk1JGxw

一、簡介

北京時間 2018年9 月 26 日,Oracle 官方宣布 Java 11 正式發布。這是 Java 大版本周期變化后的第一個長期支持版本,非常值得關注。從官網即可下載, 最新發布的 Java11 將帶來 ZGC、Http Client 等重要特性。Java 11 新特性:

JDK11  |  第一篇 : JDK11 介紹

從時間節點來看,JDK 11 的發布正好處在 JDK 8 免費更新到期的前夕,同時 JDK 9、10 也陸續成為“歷史版本”。JDK 11 將是一個?企業不可忽視的版本。

二、更新的細節

在過去的很多年中,Oracle 和 OpenJDK 社區提供了接近免費的午餐,導致人們忽略了其背后的海量工作和價值,這其中包括但不僅僅限于:最新的安全更新,如,安全協議等基礎設施的升級和維護,安全漏洞的及時修補,這是 Java 成為企業核心設施的基礎之一。大量的新特性、Bug 修復,例如,容器環境支持,GC 等基礎領域的增強。很多生產開發中的 Hack,其實升級 JDK 就能解決了。不斷改進的 JVM,提供接近零成本的性能優化…

ZGC

JDK11 引入了兩種新的 GC,其中包括也許是劃時代意義的 ZGC,雖然其目前還是實驗特性,但是從能力上來看,這是 JDK 的一個巨大突破,為特定生產環境的苛刻需求提供了一個可能的選擇。例如,對部分企業核心存儲等產品,如果能夠保證不超過 10ms 的 GC 暫停,可靠性會上一個大的臺階,這是過去我們進行 GC 調優幾乎做不到的,是能與不能的問題。

JDK11  |  第一篇 : JDK11 介紹

對于 G1 GC,相比于 JDK 8,升級到 JDK 11 即可免費享受到:并行的 Full GC,快速的 CardTable 掃描,自適應的堆占用比例調整(IHOP),在并發標記階段的類型卸載等等。這些都是針對 G1 的不斷增強,其中串行 Full GC 等甚至是曾經被廣泛詬病的短板,你會發現 GC 配置和調優在 JDK11 中越來越方便。

Flight Recorder(JFR)

Flight Recorder(JFR)是 Oracle 剛剛開源的強大特性。JFR 是一套集成進入 JDK、JVM 內部的事件機制框架,通過良好架構和設計的框架,硬件層面的極致優化,生產環境的廣泛驗證,它可以做到極致的可靠和低開銷。在 SPECjbb2015 等基準測試中,JFR 的性能開銷最大不超過 1%,所以,工程師可以基本沒有心理負擔地在大規模分布式的生產系統使用,這意味著,我們既可以隨時主動開啟 JFR 進行特定診斷,也可以讓系統長期運行 JFR,用以在復雜環境中進行“After-the-fact”分析。

在保證低開銷的基礎上,JFR 提供的能力可以應用在對鎖競爭、阻塞、延遲,JVM GC、SafePoint 等領域,進行非常細粒度分析。甚至深入 JIT Compiler 內部,全面把握熱點方法、內聯、逆優化等等。JFR 提供了標準的 Java、C++ 等擴展 API,可以與各種層面的應用進行定制、集成,為復雜的企業應用棧或者復雜的分布式應用,提供 All-in-One 解決方案。而這一切都是內建在 JDK 和 JVM 內部的,并不需要額外的依賴,開箱即用。

Low-Overhead Heap Profiling

它來源于 Google 等業界前沿廠商的一線實踐,通過獲取對象分配細節,為 JDK 補足了對象分配診斷方面的一些短板,工程師可以通過 JVMTI 使用這個能力增強自身的工具。

HTTP/2 Client API

新的 HTTP API 提供了對 HTTP/2 等業界前沿標準的支持,精簡而又友好的 API 接口,與主流開源 API(如,Apache HttpClient, Jetty, OkHttp 等)對等甚至更高的性能。與此同時它是 JDK 在 Reactive-Stream 方面的第一個生產實踐,廣泛使用了 Java Flow API 等,終于讓 Java 標準 HTTP 類庫在擴展能力等方面,滿足了現代互聯網的需求。

Transport Layer Security (TLS) 1.3

就是安全類庫、標準等方面的大范圍升級,它還是中國安全專家范學雷所領導的 JDK 項目,完全不同于以往的修修補補,是個非常大規模的工程。

Dynamic Class-File Constants

動態 class 文件常量。擴展了 Java class 文件格式,支持一種新的常量池形式:CONSTANT_Dynamic。

Improve Aarch74 Intrinsics

主要是針對 ARM Aarch74 架構的優化,比如提供優化的 sin、cos 等函數。

Epsilon: A No-Op Garbage Collector(Experimental)

無操作的垃圾收集器。Epsilon 是一個特殊的垃圾收集器,只處理內存分配,不負責回收。一旦堆耗盡,就關閉 JVM。

聽上去這個收集器好像沒什么意義。不過它還是有不少用處的。比如:

性能測試。GC 會影響性能,有了這么一個幾乎什么都不干的 GC,我們可以過濾掉 GC 帶來的影響因素。還有些性能因素不是 GC 引入的,比如編譯器變換,利用 Epsilon GC,我們可以對比。就像生物學里做實驗,我們可以用它做一個對照組。

另外還有內存壓力測試、VM接口測試等。

Launch Single-File Source-Code Programs

Unicode 10

升級現有 API 支持 Unicode 10。Java SE 10 實現的是 Unicode 8.0。與 Java 10 相比,Java 11 多支持 16 018 個新字符,10 種新的文字類型。

Nest-Based Access Control

基于嵌套的訪問控制。Java 11 引入了 nest 的概念,這是一個新的訪問控制上下文(context),邏輯上處于同一代碼實體中的類,盡管會被編譯為不同的 class 文件,但是可以訪問彼此的 private 成員,不再需要編譯器插入輔助訪問的橋方法。

Dynamic Class-File Constants

動態 class 文件常量。擴展了 Java class 文件格式,支持一種新的常量池形式:CONSTANT_Dynamic。

Remove the Java EE and CORBA Modules

將 Java SE 9 中標記為廢棄的 Java EE 和 CORBA 正式從 Java SE 平臺中刪除。

Launch Single-File Source-Code Programs

支持運行單個文件中的源代碼。在剛學習 Java 或者編寫小的工具程序時,我們一般要先用 javac 編譯源文件,再用 java 命令運行。有了這個功能,我們可以直接用 java 命令運行源程序。就像這樣:

java HelloWorld.java

Deprecate the Nashorn JavaScript Engine

廢棄 Nashorn JavaScript 腳本引擎、API 和 jjs 工具。Nashorn 是在 JDK 8 中引入的,當時完整實現了 ECMAScript-262 5.1。不過隨著 ECMAScript 的演進加快,Nashorn 維護越來越困難。

Deprecate the Pack200 Tools and API

廢棄了 pack200 和 unpack200 工具,以及 java.util.jar 包中的 Pack200 API。

歡迎關注我的公眾號《程序員果果》,關注有驚喜~~
JDK11  |  第一篇 : JDK11 介紹

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

安达市| 山东| 大同县| 淳安县| 贵阳市| 安国市| 古丈县| 陆丰市| 枣阳市| 扬中市| 富阳市| 阿克苏市| 江达县| 竹溪县| 蚌埠市| 杨浦区| 延长县| 商城县| 怀来县| 大余县| 英山县| 营山县| 吴堡县| 延庆县| 安图县| 万载县| 长乐市| 无棣县| 吴川市| 南召县| 阳谷县| 扬州市| 买车| 宣化县| 德格县| 龙州县| 嘉祥县| 三河市| 昂仁县| 高要市| 喀喇|