重磅发布:阿里开源 OpenJDK 长期支持版本 Alibaba Dragonwell
原文地址: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的更多相关文章
- 重磅发布:阿里开源 Open JDK 长期支持版本 Alibaba Dragonwell
3 月 21 日北京阿里云峰会,阿里巴巴正式宣布对外开源 OpenJDK 长期支持版本 Alibaba Dragonwell.作为 Java 全球管理组织 Java Community Process ...
- 重磅发布:阿里 OpenJDK终于开源啦! 将长期支持版本 Dragonwell
前几天的北京阿里云峰会,阿里巴巴正式宣布对外开源 OpenJDK 长期支持版本 Alibaba Dragonwell.作为 Java 全球管理组织 Java Community Process (JC ...
- 阿里开源 OpenJDK 发行版 Dragonwell
日有消息显示,阿里将于 21 日重磅发布其 OpenJDK 发行版 Alibaba Dragonwell. 我们知道 OpenJDK 是基于 GPL v2/Classpath Exception 的 ...
- Java 8后的首个长期支持版本Java 11
Java 11是Java8后的首个长期支持版本.按照 Oracle 公布的支持路线图,Java 11 将会获得 Oracle 提供的长期支持服务,直至2026年9月. 按照官方的说法,新的发布周期会严 ...
- 本地编译全志R系列的步骤7(Ubuntu 17.04非长期支持版本)
本地编译全志R系列的步骤7(Ubuntu 17.04非长期支持版本) 2017/6/29 13:49 0.获取全志R系列的Android源码包: 请通过渠道/代理商/方案公司获取全志R系列的Andro ...
- 将 ASP.NET Core 2.1 升级到最新的长期支持版本ASP.NET Core 3.1
目录 前言 Microsoft.AspNetCore.Mvc.ViewFeatures.Internal 消失了 升级到 ASP.NET Core 3.1 项目文件(.csproj) Program. ...
- Firefox 浏览器的长期支持版本(Firefox ESR)
http://ftp.mozilla.org/pub/firefox/releases/ Firefox 浏览器 下载地址 http://m.newsmth.net/article/Browsers ...
- [转帖] .net 2.1 是 LTS长期支持版本.
[翻译] .NET Core 2.1 发布 原文: Announcing .NET Core 2.1 我们很高兴可以发布 .NET Core 2.1.这次更新包括对性能的改进,对运行时和工具的改进 ...
- 重磅发布: 阿里云WAF日志实时分析上线 (含视频)
摘要: 阿里云WAF与日志服务打通,对外开发Web访问与攻击日志.提供近实时的网站具体的日志自动采集存储.并提供基于日志服务的查询分析.报表报警.下游计算对接与投递的能力. 背景 Web攻击形势 互联 ...
随机推荐
- 3 WCF一些基础铺垫
1首先上一张wcf通讯图 a.Proxy代理部分底层调用的是 xxxxClient=> ChannelFactory=>IInpuChannel/IOutChannel... b.Tran ...
- Java -Android 得知(第四天)
添加一个新的Activity 我们已经了解到一个Activity就相当于是一个界面(当然了.这样说并不严格,但易于理解). 当我们创建一个安卓应用程序之后.就默认创建了: ①.一个继承Activ ...
- spring boot mybatis XML文件读取properties配置信息
配置文件application.properties中相关配置信息可以在部署以后修改,引用配置信息可以在代码和mybatis的映射文件中 1.JAVA代码 可以通过变量去读取 application. ...
- springboot 上传图片
1. 创建多层目录 创建多层目录要使用File的mkdirs()方法,其他可以使用mkdir()方法. 2. 文件大小限制 配置文件中,在spring1.4以后要使用 ` spring.http.mu ...
- html常用
常用标签 <head></head> <body></body> <script></script> <a>< ...
- Tab切换效果的实现
<!--引用jquery和bootstrap--> <link rel="stylesheet" href="~/Content/bootstrap.m ...
- 通通玩blend美工(3)——可爱的云
原文:通通玩blend美工(3)--可爱的云 好久没有写这个系列的博客了,这里给个电梯吧,照顾新来的同学~~ 通通玩blend美工(1)——荧光Button 通通玩blend美工(2)——时钟 目前我 ...
- Boost的某些库还是需要生成二进制的库的,必须安装才行,以及使用库的方法
头文件就是库使用者最常问的问题就是“我该怎么安装Boost”,这个也是我一开始最关心的问题,Boost这点做的很好,将大部分实现都封装在头文件里,所以对于一些基本的Boost库,其实是不需要安装的,只 ...
- c#Code Contracts代码协定
Code Contracts的命名空间:System.Diagnostics.Contracts 集合1. 安装Code Contracts for .NET插件Contracts.devlab9ts ...
- UwpDesktop!WPF也能开发Surface Dial
原文:UwpDesktop!WPF也能开发Surface Dial 前段时间巨硬发布了一款新的输入设备Surface Dial,配合Surface Studio使用简直炫酷到没朋友. 本人由于公司业务 ...