原文地址:https://yq.aliyun.com/articles/694603

本文作者:阿里开源 

本文来自云栖社区合作伙伴“阿里系统软件技术”,了解相关信息可以关注“ 阿里系统软件技术”。

3 月 21 日北京阿里云峰会,阿里巴巴正式宣布对外开源 OpenJDK 长期支持版本 Alibaba Dragonwell。作为 Java 全球管理组织 Java Community Process (JCP) 的最高执行委员会的唯一中国代表,以及 Oracle 之外的 Java 生态中为数不多的 OpenJDK 定制者,Alibaba Dragonwell 的开源是阿里巴巴向全球 Java 开发者的重磅献礼。

此次,阿里巴巴发布的 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。

Github Link:https://github.com/alibaba/dragonwell8

Alibaba Dragonwell FAQ

在宣布开源前夕,InfoQ 记者对阿里云智能基础产品事业部资深技术专家李三红、阿里云智能基础产品事业部研究员 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 生态中的重要公共资源。

重磅发布:阿里开源 OpenJDK 长期支持版本 Alibaba Dragonwell的更多相关文章

  1. 重磅发布:阿里开源 Open JDK 长期支持版本 Alibaba Dragonwell

    3 月 21 日北京阿里云峰会,阿里巴巴正式宣布对外开源 OpenJDK 长期支持版本 Alibaba Dragonwell.作为 Java 全球管理组织 Java Community Process ...

  2. 重磅发布:阿里 OpenJDK终于开源啦! 将长期支持版本 Dragonwell

    前几天的北京阿里云峰会,阿里巴巴正式宣布对外开源 OpenJDK 长期支持版本 Alibaba Dragonwell.作为 Java 全球管理组织 Java Community Process (JC ...

  3. 阿里开源 OpenJDK 发行版 Dragonwell

    日有消息显示,阿里将于 21 日重磅发布其 OpenJDK 发行版 Alibaba Dragonwell. 我们知道 OpenJDK 是基于 GPL v2/Classpath Exception 的 ...

  4. Java 8后的首个长期支持版本Java 11

    Java 11是Java8后的首个长期支持版本.按照 Oracle 公布的支持路线图,Java 11 将会获得 Oracle 提供的长期支持服务,直至2026年9月. 按照官方的说法,新的发布周期会严 ...

  5. 本地编译全志R系列的步骤7(Ubuntu 17.04非长期支持版本)

    本地编译全志R系列的步骤7(Ubuntu 17.04非长期支持版本) 2017/6/29 13:49 0.获取全志R系列的Android源码包: 请通过渠道/代理商/方案公司获取全志R系列的Andro ...

  6. 将 ASP.NET Core 2.1 升级到最新的长期支持版本ASP.NET Core 3.1

    目录 前言 Microsoft.AspNetCore.Mvc.ViewFeatures.Internal 消失了 升级到 ASP.NET Core 3.1 项目文件(.csproj) Program. ...

  7. Firefox 浏览器的长期支持版本(Firefox ESR)

    http://ftp.mozilla.org/pub/firefox/releases/  Firefox 浏览器 下载地址 http://m.newsmth.net/article/Browsers ...

  8. [转帖] .net 2.1 是 LTS长期支持版本.

    [翻译] .NET Core 2.1 发布   原文: Announcing .NET Core 2.1 我们很高兴可以发布 .NET Core 2.1.这次更新包括对性能的改进,对运行时和工具的改进 ...

  9. 重磅发布: 阿里云WAF日志实时分析上线 (含视频)

    摘要: 阿里云WAF与日志服务打通,对外开发Web访问与攻击日志.提供近实时的网站具体的日志自动采集存储.并提供基于日志服务的查询分析.报表报警.下游计算对接与投递的能力. 背景 Web攻击形势 互联 ...

随机推荐

  1. JS中常用函数总结

    //LTrim(string):去除左边的空格 function LTrim(str) { var whitespace = new String(" \t\n\r"); var ...

  2. Win7 64位系统,使用(IME)模式VS2010 编写 和 安装 输入法 教程(1)

    原文:Win7 64位系统,使用(IME)模式VS2010 编写 和 安装 输入法 教程(1) 首先感谢:http://blog.csdn.net/shuilan0066/article/detail ...

  3. 用游戏杆控制WPF中三维模型

    原文:用游戏杆控制WPF中三维模型 用游戏杆控制WPF中三维模型   今天心情比较好,不写WF的文章了,换个主题.写一个我最最最擅长的内容.   例子下载: http://files.cnblogs. ...

  4. CCPlace,CCFlip*,CCToggleVisibility,CCMoveTo*,CCJumpTo*,CCScale*,CCRotate*,CCSkew*,fade,CCCardinalSp*

     1 CCAction动作 CCAction作为一个基类.事实上质是一个接口(即抽象类),由它派生的实现类(如运动和转动等)才是我们实际使用的动作.CCAction 的绝大多数实现类都派生自CCF ...

  5. HDU 2845 Beans(dp)

    Problem Description Bean-eating is an interesting game, everyone owns an M*N matrix, which is filled ...

  6. 《C++ Primer Plus》学习笔记11

    <C++ Primer Plus>学习笔记11 第17章 输入.输出和文件 <<<<<<<<<<<<<< ...

  7. Golang的演化历程

    本文来自Google的Golang语言设计者之一Rob Pike大神在GopherCon2014大会上的开幕主题演讲资料“Hello, Gophers!”.Rob大神在这次分 享中用了两个生动的例子讲 ...

  8. Go 语言如果按这样改进,能不能火过 Java?

    据 InfoWorld 消息,为改进 Go 语言的开发工具,Go 可能会获得自己的语言服务器,类似于 Microsoft 和 Red Hat 的语言服务器协议. 消息是从 Go 语言开发者的讨论组中流 ...

  9. 定长文本格式编辑神器 - Record Editor

    由于项目里有系统使用的是定长的文本格式,如果列数比较多的话编辑检查起来会特别麻烦.之前也找了各种编辑器的插件,最多只能显示列宽.辅助线而以还是不方便 .最后发现了一个开源项目 Record Edito ...

  10. excel操作for(lutai)

    条件统计某个区域的值 第一种方法: =SUMIFS(P2:P5,L2:L5,A2) 第一个参数:被求和的单元格范围 第二个参数:明细表条件值单元格范围 第三个参数:主表条件单元格(可以是范围) 公式的 ...