重磅!阿里開源 OpenJDK 長期支援版本 Alibaba Dragonwell
3 月 21 日北京阿里雲峰會,阿里巴巴正式宣佈對外開源 OpenJDK 長期支援版本 Alibaba Dragonwell。作為 Java 全球管理組織 Java Community Process (JCP) 的最高執行委員會的唯一中國代表,以及 Oracle 之外的 Java 生態中為數不多的 OpenJDK 定製者,Alibaba Dragonwell 的開源是阿里巴巴向全球 Java 開發者的重磅獻禮。
北京阿里雲峰會宣佈 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 應用程式。
此次,阿里巴巴釋出的 Alibaba Dragonwell 8 預覽版本對應 OpenJDK 8 的版本。Alibaba Dragonwell的開源為全球 Java 開發者提供了新選擇。同時對於阿里雲,Alibaba Dragonwell 會針對 LTS 的兩個版本 Java 8 和 Java 11 隨阿里雲 VM 映象釋出,免費提供給阿里雲客戶使用。
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 的相容性。
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使用者指南>
作為 OpenJDK 的下游,Alibaba Dragonwell 將在每季度釋出新版本主要包含:
社群上游安全/關鍵 bug 修復
阿里定製的功能,Bug修復等。
基於阿里工程實踐的 Java 8 以後版本的功能移植
我們計劃逐步把阿里巴巴內部使用 AJDK 積累的技術創新開源出來貢獻給社群。同時,我們預計 2019 年年底釋出 Alibaba Dragonewell 11。
在宣佈開源前夕,媒體對阿里雲智慧基礎產品事業部資深技術專家李三紅、阿里雲智慧基礎產品事業部研究員 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 生態中的重要公共資源。
點選文末“閱讀原文”,瞭解更多詳情。
你可能還喜歡
點選下方圖片即可閱讀
相關文章
- “龍井”開箱評測 |Alibaba Dragonwell 新手上路指南Go
- NVIDIA DOCA 1.5 長期支援版本釋出
- 獨家!阿里開源自用OpenJDK版本,Java社群迎來中國力量阿里JDKJava
- 重磅 | 阿里開源首個 Serverless 開發者平臺 Serverless Devs阿里Serverdev
- 亞馬遜推出具有長期支援的免費JDK版本亞馬遜JDK
- 阿里雲開源映象站支援IPv6訪問阿里
- AngularJS終止了長期支援AngularJS
- Oracle各版本補丁的支援週期Oracle
- 阿里雲資料庫PostgreSQL 13大版本重磅釋出阿里資料庫SQL
- 開源版本的 uTools。可支援 uTools 所有外掛生態
- [轉帖]JVM效能提升50%,聊一聊背後的秘密武器Alibaba DragonwellJVMGo
- 重磅開源!阿里首款自研科學計算引擎 Mars 來了阿里
- 【重磅】VS Code 的 Java 語言支援 1.0 版本正式釋出Java
- OpenJDK JDK 18第一個版本釋出JDK
- 阿里雲物件儲存OSS支援版本管理特性阿里物件
- Flutter 圖片庫重磅開源!Flutter
- 重磅!阿里巴巴開源首個邊緣計算雲原生專案 OpenYurt阿里
- ubuntu舊版本失去庫支援後換源Ubuntu
- Spring Cloud Alibaba 開源背後的故事 | 開源中國專訪SpringCloud
- OpenJDK JDK 20 早期訪問版本提供下載JDK
- 重磅!重磅!Masonite 3.0 版本出來了!!
- 「阿里雲 RocketMQ 系列公開課」重磅來襲!阿里MQ
- 阿里雲重磅開源實時計算平臺,挑戰計算領域的“珠峰”阿里
- 微軟推送Win10版本1607 LTSC補丁更新:支援長期服務頻道微軟Win10
- 作業系統遷移難?Alibaba Cloud Linux 支援跨版本升級 | 龍蜥技術作業系統CloudLinux
- 阿里通義千問重磅升級:免費開放1000萬字長文件處理功能阿里
- springcloud alibaba與springboot對應的版本GCCloudSpring Boot
- spring-cloud-alibaba 元件版本關係SpringCloud元件
- spring cloud alibaba springboot nacos 版本對應CloudSpring Boot
- 重磅!滴滴開源首次釋出年度報告
- 阿里重磅開源!4000臺伺服器真實資料集,揭祕世界級資料中心阿里伺服器
- 在Openjdk 8 中如何合理使用容器 memory 資源JDK
- 小程式長期訂閱訊息的支援問題
- Alibaba Cloud Linux 2 開源後又有什麼新動作?CloudLinux
- Dependabot 開始支援 pub package 版本檢測Package
- spring cloud 和 阿里微服務spring cloud AlibabaSpringCloud阿里微服務
- 開源月刊《HelloGitHub》第 62 期Github
- 阿里開源雲原生混部系統Koordinator正式開源阿里