一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - 編程技術 - 阿里巴巴開源 Dragonwell JDK 最新版本 8.1.1-GA 發布

阿里巴巴開源 Dragonwell JDK 最新版本 8.1.1-GA 發布

2020-09-16 17:14阿里巴巴云原生 編程技術

距離 Dragonwell JDK 第一個正式版本 8.0.0-GA 發布已經過去 3 個月了,項目在 Github 上的 stars 繼續攀升達到了 1900。今天我們帶來了最新版本 8.1.1-GA 的發布,包含了全新的特性和更新,需要的朋友可以參考下

導讀:新版本主要有三大變化:同步了 OpenJDK 上游社區 jdk8u222-ga 的最新更新;帶來了正式的 feature:G1ElasticHeap;發布了用戶期待的 Windows 實驗版本 Experimental Windows version。

距離 Dragonwell JDK 第一個正式版本 8.0.0-GA 發布已經過去 3 個月了,項目在 Github 上的 stars 繼續攀升達到了 1900。今天我們帶來了最新版本 8.1.1-GA 的發布,包含了全新的特性和更新。詳情見下文。

龍井 8.1.1-GA 的新變化

新版本里我們同步了 OpenJDK 上游社區 jdk8u222-ga 的最新更新,帶來了上游穩定版本的最新安全更新和補丁。

在 8.0.0-GA 發布的時候,我們介紹了 Dragonwell 第三個新特性 ElasticHeap 的一些情況,很多用戶已經躍躍欲試了,這次發布我們帶來了正式的 feature:G1ElasticHeap。能夠在不影響 Java 業務運行的前提下,動態節約 Java 進程物理內存。

另外,我們還發布了用戶期待的 Windows 實驗版本 Experimental Windows version,使用 Windows 開發的小伙伴們可以更加方便的使用 Dragonwell JDK 進行相應的開發工作。

G1ElasticHeap

從 feature 的名字上我們可以看到 ElasticHeap 是基于 G1 GC 開發的,所以想要使用這個功能的小伙伴,需要開啟 G1 GC(-XX:+UseG1GC)。在 8.0.0-GA 正式版介紹時,我們介紹了部分技術背景,由于 Java 自動管理內存的特性,整個 Java Heap 的地址空間和物理內存將被 Java 進程占用,即使使用率不高,回收后也并不會歸還給操作系統,導致 Java 進程會有較高的常駐內存。

OpenJDK8 的幾個常規 GC 算法僅能支持在 Full GC 時,按照一定規則有限縮減 Java 堆,然而 Java 開發的小伙伴們非常清楚,頻繁的 Full GC 的 STW(stop-the-world)對 Java 應用意味著什么,長暫停會導致很多不可預期的應用異常和無法響應。

阿里巴巴開源 Dragonwell JDK 最新版本 8.1.1-GA 發布

ElasticHeap 可以根據整體 GC 的壓力,敏捷地將 Java 堆的物理內存歸還給操作系統,沒有額外的 STW 對 Java 應用帶來的超時異常風險,核心設計有 2 個特別之處:

  1. 分別處理 Java Heap 中新區和老區的部分。特別是不少應用為了維持可能高壓力下的 GC 吞吐,會保持比較大的 young generation,例如 G1 默認的新區最大值為整堆的 60%。當 young GC 頻率不高時,其實 Java 堆面臨很大程度的浪費,但卻沒有辦法快速節約這部分內存。假設當新區為整堆 60%,young GC 頻率為 90 秒一次。當使用整堆 10% 作為 young generation 時,GC 頻率變為 15 秒一次,同樣可以滿足 Java 正常運行,這樣就可以節約 50% 的 Java 堆內存。而當壓力變大,GC 頻率變高時,會自動檢測到變化并且重新 map 內存擴展新區的大小。
  2. 使用了并發線程,并發且并行(concurrent and parallel)處理內存歸還和重新 map 的工作。因為和 Linux kernel 交互,map/unmap 內存實際上是比較耗時的操作,特別是重新 map 內存后還會有 page fault 的開銷,對于一次操作上 G 的內存,很容易消耗上百毫秒,甚至是秒級。因此,如果傳統地在 GC STW中 操作內存 map/unmap,Java 應用將可能發生較大的毛刺,這是很多在線服務型應用不可接受的。通過并發線程并行處理 unmap 以及重新 map 后帶來的 page fault 的開銷,Java 應用線程將不受任何影響。在常規 GC STW 過程中,Java 堆的容量將會及時同步完成。

在 OpenJDK 新的 12 版本中,也引入了周期性觸發 G1 concurrent mark 來觸發內存的節約機制,但是并沒有解決在 STW中map/unmap 的開銷問題,也不能快速在 young GC 周期中來發現和處理 young generation 的內存浪費。目前除了在 Dragonwell 8.1.1 中發布,我們同時把 G1ElasticHeap 的 patch 提交給 OpenJDK 社區 review 和討論,希望將這些創造性的變化加入到最新的 OpenJDK G1 GC 中。

阿里巴巴開源 Dragonwell JDK 最新版本 8.1.1-GA 發布

云棲大會上孤盡的演講,清晰地描述了 ElasticHeap 的使用場景。在雙 11 流量劇增的情況下,核心應用 tradeplatform3 迅速的回漲 Java heap 和內存,以保持高流量壓力下的穩定。高峰過后,內存逐漸縮減。從集群維度來說,在線 Java 應用占據大量內存,即使在線流量低,cpu 利用率很低,由于內存的占據,集群機器的 cpu 資源依然無法復用。而 ElasticHeap 可以有效降低低壓力的在線 Java 應用的內存占用,把內存資源出讓一部分運行離線任務,從而突破在線應用集群的資源利用率的內存瓶頸。在本例中,節約了 22.8% 的 Java 進程的物理內存。

想要立刻使用最新特性的小伙伴們,可以通過下面的地址下載最新版本的 Dragonwell JDK 的二進制包。

https://github.com/alibaba/dragonwell8/releases

這里提供了用戶指南和發布說明。用戶指南的末尾還有支持的釘釘群和郵件。

https://github.com/alibaba/dragonwell8/wiki

如果有小伙伴覺得這個特性符合自身的場景需求好用的話,不妨也向 OpenJDK 社區郵件列表支持我們,讓 OpenJDK 聽到更多中國 Java 使用者和開發者的聲音。

總結

以上所述是小編給大家介紹的阿里巴巴開源 Dragonwell JDK 最新版本 8.1.1-GA 發布,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對服務器之家網站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!

原文鏈接:https://www.cnblogs.com/alisystemsoftware/p/11683673.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 鄂州一家三口完整版免费 | 国产成人在线播放视频 | 亚洲七七久久综合桃花 | 欧美一级专区免费大片 | 午夜福利理论片在线播放 | 国产欧美日韩图片一区二区 | 青青草国产精品久久久久 | 国产成+人+综合+亚洲欧美丁香花 | 国产无限 | 午夜久久久久久网站 | 国内永久第一免费福利视频 | 免费370理论片中文字幕 | 美女扒开腿让男生捅 | 欧美精品一二三区 | 800精品国产导航 | 男人j放进女人的p视频免费 | 2019中文字幕| 成人精品视频 成人影院 | 男人天堂a| 亚洲国产精品自在现线让你爽 | 91视频免费网站 | 欧美精品综合一区二区三区 | 欧美一区二区三区精品影视 | 千金肉奴隶在线观看 | 贵妇的私人性俱乐部 | 欧美撒尿屁股嘘嘘撒尿 | 国产亚洲女人久久久久久 | 免费观看一区二区 | 午夜办公室在线观看高清电影 | 成年人视频在线播放 | 亚洲 日韩 自拍 视频一区 | kk4kk免费毛片 | 满溢游泳池免费 | 99热国产这里只有精品 | 国产精品视频第一区二区 | 色漫在线观看 | 亚洲日韩中文字幕一区 | 国产福利一区二区在线精品 | 日日摸日日碰夜夜爽97纠 | 青草视频免费观看 | 日本乱人伦中文在线播放 |