background
Need to investigate the use of domestic CPU, what kind of JDK need
Take domestic CPU Feiteng and Loongson for example, Feiteng is ARM architecture, and Loongson is MIPIS architecture, the default is JDK8
The following JDK is based on the openJDK to add some features or optimized JVM features, after testing and production practice, so more reliable than openJDK
ARMv8 fit
Ali Dragonwell
Liverpoolfc.tv: dragonwell – JDK. IO /
Code: github.com/alibaba/dra…
Usage Guide :github.com/alibaba/dra…
Features:
- JWarmup: Records hot methods and class compilation order based on the previous run of the application, and actively loads relevant classes and compiles relevant methods when the application is launched next time, so that the compiled Java code can be run directly after the application is launched.
- JFR: Java Flight Recorder (JFR) is a tool for collecting diagnostic and performance data for Java applications. It has been integrated into Alibaba Dragonwell. With the default configuration, the additional overhead of JFR is less than 2%, so it can be used in a production environment.
- G1ElasticHeap: Supports dynamic heap physical memory return in G1 and reduces memory footprint for Java processes.
- Wisp: Wisp provides a user-mode thread implementation on the JVM. With Wisp2 enabled, Java threads are no longer mapped to kerl-level threads, but to a single coroutine. The JVM schedules a large number of coroutine executions on a small number of kernel lines to reduce the scheduling overhead of the kernel and improve the performance of the Web server.
Linux/AArch64, available for production
Developer.aliyun.com/article/781…
Huawei Dishengjdk
Code: gitee.com/openeuler/b…
Gitee.com/openeuler/b…
Instructions: gitee.com/openeuler/b…
Features:
1. Bisheng JDK 8 support AppCDS, can greatly shorten the application startup speed and multi-process memory occupation, for short life cycle, large memory occupation of the application, as well as container application has a good optimization effect.
2. Bison JDK 11 supports experimental ZGC on ARM architecture, supports a maximum latency of 10ms, and carries out stability enhancement. Developers can also enjoy the advantages of low-latency GC algorithm on ARM architecture.
3. The BISON JDK 8 & 11 also supports fast serialization technology, which provides greater serialization capability than Java native serialization for some scenarios, with performance improvements of up to 20% in some scenarios.
Linux/AArch64 is available for production
Reference reading:
www.infoq.cn/article/1pq…
www.hikunpeng.com/developer/d…
List of supported oss
Operating System Name | version | Name of the OS image file |
---|---|---|
CentOS | 7.6 | CentOS-7-aarch64-Everything-1810.iso |
Ubuntu | 18.04 | Ubuntu – 18.04.5 – live – server – amd64. Iso |
Ubuntu | 20.04 LTS | Ubuntu – 20.04.2 – live – server – amd64. Iso |
openEuler | 21.03 | OpenEuler – 21.03 – aarch64 – DVD. Iso |
openEuler | 20.03 LTS SP1 | OpenEuler – 20.03 – LTS – SP1 – aarch64 – DVD. Iso |
UOS | V20 | uos-20-SP1-server-arm64.iso |
kirin | V10 | Kylin-Server-10-SP1-Release-Build04-20200711-arm64.iso |
Tencent KonaJDK
Github.com/Tencent/Ten…
Support: x86-64 linux-AARCH64
- Vector computation (Vector API). In view of the optimization requirements of “computing power” in big data and machine learning scenarios, JVM applications can make full use of SIMD capabilities, transplant and improve Vector API technology in the cutting-edge version of the community, solve production obstacles such as avX512 Vector reliability, and develop in-depth optimization such as Vector shift register allocation. And a lot of upstream has been optimized to the OpenJDK main branch.
- ZGC out of the box. As one of the Java ecology’s eagerly awaited “no pause” GC algorithms, ZGC promises to provide millisecond pauses in most cases, greatly increasing the productivity of Java online service scenarios, but somewhat slowing down JDK 11 adoption due to its lack of reliability and functionality. The Kona JDK addresses the shortcomings of the community JDK 11, freeing Java developers from the burden of choosing between LTS and non-LTS versions.
- Super large heap and memory cost optimization strategies. The Kona JDK 11 incorporates production-level optimizations for GC, SVC tools, and more in the face of demanding production environments ranging from lightweight microservices to multiple super TERabytes of stacks
- Tencent ranks fifth in global enterprise contribution, and is the company that contributes the most to OpenJDK in China, and it is the first time for a Chinese manufacturer to enter into the contributor range of OpenJDK in history
Linux/AArch64 is available for production
Download: github.com/Tencent/Ten…
Instructions: github.com/Tencent/Ten…
Other references:
Mp.weixin.qq.com/s/8xRLM0DDw… Add fire to Arm ecology, Tencent Kona JDK Arm architecture optimization practice
www.infoq.cn/article/lny… KonaJDK enables a new Java ecosystem on the cloud
Mp.weixin.qq.com/s/LGNs9Ljp5… KonaJDK 8 new version update, state secret algorithm easy to use
Blog.csdn.net/Tencent_Big… Tencent Kona JDK11 Non-pause MEMORY management ZGC production practice
AdoptOpenJDK
Download address:Adoptium.net/releases.ht…
LoongArch64 / MIPS64 godson
Download the JDK and directions for use: www.loongnix.cn/index.php/J…
Loongson software ecology series – talk about Loongson Java open source
www.loongnix.cn/index.php/%… Loongson related projects
www.loongnix.cn/index.php/%… Loongson Open Source community
Zhuanlan.zhihu.com/p/165350806 migration and domestic CPU thinking on the godson project
conclusion
- All of the above JDK support AARCH64
- All have production practices
- In addition to loongson related JDK have large factory support