重磅!阿里開源 OpenJDK 長期支援版本 Alibaba Dragonwell

阿里技術_發表於2019-03-21

3 月 21 日北京阿里雲峰會,阿里巴巴正式宣佈對外開源 OpenJDK 長期支援版本 Alibaba Dragonwell。作為 Java 全球管理組織 Java Community Process (JCP) 的最高執行委員會的唯一中國代表,以及 Oracle 之外的 Java 生態中為數不多的 OpenJDK 定製者,Alibaba Dragonwell 的開源是阿里巴巴向全球 Java 開發者的重磅獻禮。


640?wx_fmt=jpeg北京阿里雲峰會宣佈 Alibaba Dragonwell 開源現場




/ Github Link /

https://github.com/alibaba/dragonwell8




這就是 Alibaba Dragonwell


Alibaba Dragonwell 是一款免費的 OpenJDK 發行版。它提供長期支援,包括效能增強和安全修復。Alibaba Dragonwell 目前支援 X86-64/Linux 平臺,在資料中心大規模 Java 應用部署情況下, 可以大幅度提高穩定性、效率以及效能。Alibaba Dragonwell 與 Java SE 標準相容,使用者可以使用 Alibaba Dragonwell 開發和執行 Java 應用程式。


640?wx_fmt=png


此次,阿里巴巴釋出的 Alibaba Dragonwell 8 預覽版本對應 OpenJDK 8 的版本。Alibaba Dragonwell的開源為全球 Java 開發者提供了新選擇。同時對於阿里雲,Alibaba Dragonwell 會針對 LTS 的兩個版本 Java 8 和 Java 11 隨阿里雲 VM 映象釋出,免費提供給阿里雲客戶使用。


AJDK 的優勢繼承者Alibaba Dragonwell


Alibaba Dragonwell 的前身是阿里巴巴內部使用的 AJDK(Alibaba/AlipayJDK)。早在 2010 年,阿里巴巴就開始了基於 OpenJDK 開源軟體的開發,並在 2015 年著手 OpenJDK 8 的優化和定製工作。


AJDK 作為阿里巴巴 Java 應用的基石,支撐了阿里經濟體內所有的 Java 業務,經受了多次雙十一考驗,積累了大量業務場景下的實踐經驗。作為在 Oracle 之外的 Java 生態中的 OpenJDK 定製者, 阿里一直不遺餘力持續開拓 Java 新疆界:

  • 2015 年 10月,AJDK8.0.0 釋出,實現多租戶,支援高密度部署以及資源隔離。

  • 2016 年 5月,AJDK 8.1.1 釋出,支援 JWarmup,支援 Java 應用在執行時提前編譯。

  • 2016 年10月,AJDK 8.2.4 釋出,實現Wisp協程 ,有效提升 Java 應用效能 30% 以上。

  • 2018 年 1 月,AJDK 8.4.7  釋出,根據阿里大資料場景的定製版 ZenGC (G1 based)釋出。

  • 2018 年 2月,釋出基於 AJDK 的 Java Profiling 工具 Java Event Tracing(JET) 。


作為 AJDK 的開源版本, Alibaba Dragonwell 沿襲了 AJDK 的技術優勢以及實踐場景下的技術經驗。開源後,Alibaba Dragonwell 的每次釋出都將會同步 OpenJDK 8 的最新更新(OpenJDK 8u),並將基於阿里的工程實踐,加入阿里的'value-add' 功能。Alibaba Dragonwell 版本會通過 JCK 相容套件測試,確保 Java 的相容性。


Alibaba Dragonwell 與 OpenJDK


Oracle 宣佈 Java8 在 2019 年 1月之後停止更新,另外 Java11 及以後版本將不再提供免費的 long-term support (LTS) 支援。可以預見,未來將有越來越多 Java 開發者轉向使用 OpenJDK。阿里巴巴長期致力於與 Java 技術推進的聚集地——OpenJDK 社群密切合作,Alibaba Dragonwell 將保持與社群版本的同步,並充分融合阿里巴巴業務實踐與技術經驗,為 Java 開發者提供一個良好的應對方案。


Alibaba Dragonwell 8 的優勢


  • 移植上游 Java 11 的 Java Flight Recorder (JFR) 功能,Java 開發人員可以通過 JFR 收集 JVM 執行過程中的詳細的 profiling 資訊,配合 Java Mission Control(JMC),  大幅提高 Java 應用的問題診斷及效能優化效率;

  • 整合 AJDK 的 JWarmup 技術,JWarmup 已作為 Java Enhancment Proposal(JEP) 在 OpenJDK 立項,未來有望加入 Java 的標準發行版中。JWarmup 在資料中心可以結合應用的流量排程時機,動態預編譯Java 程式碼,可以有效減少由於傳統的 Just-in-Time 的預熱(Warmup)導致的 CPU load 過高,rt 超時等問題。

  • 提供在 GC 問題診斷 Servicibility 方面的提高, 詳細資訊參考 Alibaba Dragonwell 8 User Guide <https://github.com/alibaba/dragonwell8/wiki/阿里巴巴Dragonwell8使用者指南>



Alibaba Dragonwell Roadmap


作為 OpenJDK 的下游,Alibaba Dragonwell 將在每季度釋出新版本主要包含:

  • 社群上游安全/關鍵 bug 修復

  • 阿里定製的功能,Bug修復等。

  • 基於阿里工程實踐的 Java 8 以後版本的功能移植


我們計劃逐步把阿里巴巴內部使用 AJDK 積累的技術創新開源出來貢獻給社群。同時,我們預計 2019 年年底釋出 Alibaba Dragonewell 11。


Alibaba Dragonwell FAQ


在宣佈開源前夕,媒體對阿里雲智慧基礎產品事業部資深技術專家李三紅、阿里雲智慧基礎產品事業部研究員 Kingsum Chow (周經森)進行了採訪,以下就大家關心的問題做一下整理。


Q1.Alibaba Dragonwell 命名有什麼由來?
“Dragonwell”中文譯為龍井,象徵著中國的茶文化,又恰好是杭州特色(阿里巴巴總部所在地);“well”一詞通常被描述為水源匯聚在一起供大家享用,我們希望可以集合所有開發者的力量不斷完善該專案並最終貢獻給所有使用者。

Q2.開源的 Alibaba Dragonwell 與阿里內部使用的 AJDK 是一個東西嗎?
本次開源的 Alibaba Dragonwell 與阿里內部使用的 AJDK 還是有差異的。Alibaba Dragonwell 是 AJDK 的開源版本,AJDK 技術的繼承者。目前開源的版本並未包含 AJDK 的所有功能,比如多租戶,Wisp 協程,ZenGC 等。之後,會考慮將 AJDK 的功能逐漸過渡到 Alibaba Dragonwell。

Q3.Alibaba Dragonwell 與 OpenJDK 關係是怎麼樣的?阿里巴巴是否會持續維護 OpenJDK 社群?
Alibaba Dragonwell 一定是 OpenJDK 的下游,每個 Alibaba Dragonwell 發行版都會同步上游最新更新,並經過阿里巴巴內部大規模的應用叢集測試。同時,阿里巴巴也會積極將 AJDK 上的技術積累貢獻到 OpenJDK,積極參與社群的專案更新和維護。我們期待與 OpenJDK 社群密切合作,共同推動 OpenJDK 的發展。

Q4. 如何看待Java 版本的升級? 如何看待 Oracle JDK 與 OpenJDK 的關係?
Java 8 是目前最被廣泛使用的版本,並且其群體非常堅守。在 Java 圈內,你會發現一個很有趣的現象:無論新版本給出的更新多麼誘惑,大部分 Java 開發者似乎並不感興趣,依舊堅持自己的選擇。確實,Java 8 是一個非常成功的版本,以至於很多開發者並不認為需要更新其他版本,這可能與長期養成的習慣和固有信任有關係。Java 這麼多年發展過來,大多數開發者已經習慣信任官方 Oracle JDK,對社群 OpenJDK 版本關注不夠,所以從 Oracle JDK 到 OpenJDK 的切換需要一個過程。但隨著這些國際科技大廠的努力,OpenJDK 的生態一定會越來越完善,功能也會更加齊備,面對持續的安全更新和眾多大廠的深度參與,這個專案應該會成為 Java 生態中的重要公共資源。


點選文末“閱讀原文”,瞭解更多詳情。


640?wx_fmt=gif

你可能還喜歡

點選下方圖片即可閱讀


640?wx_fmt=jpeg

深度 |  Android 整體設計及背後意義


640?wx_fmt=jpeg

Serverless 風暴來襲,前端工程師如何應對?


640?wx_fmt=jpeg

阿里巴巴2019實習生招聘正式啟動!


640?wx_fmt=gif

相關文章