On March 21, at the Alibaba Cloud Summit in Beijing, Alibaba officially announced that the long-term support version of OpenJDK, Alibaba Dragonwell, is now open-source. As the only Chinese representative of the executive committee of Java Community Process (JCP), a global Java management organization, and one of the few OpenJDK customizers in the Java ecosystem outside of Oracle, Alibaba’s announcement of making Alibaba Dragonwell open-source is a great contribution for Java developers around the world.
Alibaba Dragonwell is a free distribution version of OpenJDK. It provides long-term support, including performance enhancements and security fixes. Alibaba Dragonwell currently supports X86–64/Linux platform. It can greatly improve stability, efficiency and performance under the condition of large-scale Java application deployments in the data center. Alibaba Dragonwell is compatible with the Java SE Standard. Users can use Alibaba Dragonwell to develop and run Java applications.
This version of the Alibaba Dragonwell 8 Preview released by Alibaba corresponds to OpenJDK 8. Alibaba Dragonwell moving to open-source provides a new choice for Java developers around the world. At the same time, for Alibaba Cloud, Alibaba Dragonwell is released along with the Alibaba Cloud VM image for the two versions of LTS, Java 8 and Java 11, for free use by Alibaba Cloud customers.
Alibaba Dragonwell — The Successor of AJDK
The predecessor of Alibaba Dragonwell is AJDK (Alibaba/AlipayJDK), which is used internally by Alibaba. As early as 2010, Alibaba began the development of open source software based on OpenJDK, and started the optimization and customization of OpenJDK 8 in 2015.
AJDK, as the basis of Alibaba Java applications, has provided support for all Java services in the Alibaba economy, withstood many “Singles’ Day” annual shopping carnivals, and accumulated a wealth of practical experience under various business scenarios. As an OpenJDK customizer in the Java ecosystem outside of Oracle, Alibaba has spared no effort to continue to develop the new Java field:
- In October 2015, AJDK8.0.0 was released to implement multi-tenancy, and support high-density deployment and resource isolation.
- In May 2016, AJDK 8.1.1 was released to support JWarmup, which pre-compiles Java hot methods at application startup.
- In October 2016, AJDK 8.2.4 was released to implement the Wisp coroutine, effectively improving Java application performance by more than 30%.
- In January 2018, AJDK 8.4.7 was released based on the customized version for the Alibaba Big Data scenario, ZenGC (G1 based).
- In February 2018, Java Event Tracing (JET), a Java Profiling tool based on AJDK, was released.
As an open source version of AJDK, Alibaba Dragonwell has inherited the technical advantages of AJDK and technical experience in practical scenarios. After Alibaba Dragonwell is made open-source, each release will synchronize the latest update of OpenJDK 8 (OpenJDK 8u), and add the Alibaba “value-add” function based on Alibaba’s engineering practices. Alibaba Dragonwell is tested using the JCK compatibility suite to ensure Java compatibility.
Alibaba Dragonwell and OpenJDK
Oracle announced that Java8 would no longer be maintained after January 2019, and that free long-term support (LTS) would no longer be available in Java 11 and later. It is foreseeable that more and more Java developers will turn to OpenJDK in the future. Alibaba has long been committed to working closely with the OpenJDK community, a gathering place for Java technology advancement. Alibaba Dragonwell will keep pace with the community version, and fully integrate Alibaba business practices and technical experience to provide a good solution for Java developers.
Advantages of Alibaba Dragonwell 8.0
- It ports the Java Flight Recorder (JFR) function of the upstream Java 11. Java developers can use JFR to collect detailed profiling information while the JVM is running, and to significantly improve the efficiency of problem diagnosis and performance optimization of Java applications together with the Java Mission Control (JMC) function;
- It integrates AJDK’s JWarmup technology. JWarmup has been proposed as a Java Enhancement Proposal(JEP) in OpenJDK, and is expected to be added to the standard release of Java in the future. JWarmup can dynamically pre-compile Java code in the data center in combination with the traffic scheduling timing of the application, which can effectively reduce the problems of excessive CPU load, RT timeout and the like caused by traditional Just-in-Time Warmup.
- It improves the serviceability of GC diagnosis.
For more information, read the Alibaba Dragonwell 8 User Guide here: https://github.com/alibaba/dragonwell8/wiki/Alibaba-Dragonwell8-User-Guide
Alibaba Dragonwell Roadmap
As the downstream of OpenJDK, a new version of Alibaba Dragonwell will be released every quarter, which mainly includes:
- Community upstream security and critical bug fixes
- Alibaba customized functions, bug fixes and others
- Function porting based on Alibaba engineering practices for versions later than Java 8
We plan to gradually make the technical innovations (accumulated by Alibaba using AJDK) open-source to continue contributing to the community.
And, we expect to release Alibaba Dragonewell 11 by the end of 2019.
How to Contribute to Alibaba Dragonwell
Join the official Alibaba Dragonwell community by visiting: https://github.com/alibaba/dragonwell8