针对国产CPU的JDK选择

针对国产CPU的JDK选择背景 需要调研使用国产的CPU,需要什么样的JDK 以国产CPU 飞腾和龙芯为例,飞腾是ARM架构,而龙芯是MIPIS架构,默认为JDK8 下面的JDK 都是在openJDK的基础上增加了一些特性或者

背景

需要调研使用国产的CPU,需要什么样的JDK

以国产CPU 飞腾和龙芯为例,飞腾是ARM架构,而龙芯是MIPIS架构,默认为JDK8

下面的JDK 都是在openJDK的基础上增加了一些特性或者优化了JVM的特性,经过测试和生产实践之间之后推出的,所以相对openJDK有更好的可靠性

ARMv8飞腾

阿里 Dragonwell

官网:dragonwell-jdk.io/

code : github.com/alibaba/dra…

使用指南:github.com/alibaba/dra…

特点:

  • JWarmup: 根据前一次程序运行的情况,记录下热点方法、类编译顺序等信息,在应用下一次启动的时候积极加载相关的类,并积极编译相关的方法,进而应用启动后可以直接运行编译好的Java代码。
  • JFR: Java Flight Recorder (JFR) 是一款用于收集Java应用运行过程中的诊断及性能数据的工具,目前已经被集成进Alibaba Dragonwell中。在使用默认配置的情况下,JFR带来的额外开销将小于2%,因此可以用在生产环境。
  • G1ElasticHeap: 支持在G1中动态归还堆物理内存并降低Java进程的内存占用。
  • Wisp: Wisp在JVM上提供了一种用户态的线程实现。开启Wisp2后,Java线程不再简单地映射到内核级线程,而是对应到一个协程,JVM在少量内核线上调度大量协程执行,以减少内核的调度开销,提升web服务器的性能。

Linux/AArch64,可用于生产

developer.aliyun.com/article/781…

华为 Dishengjdk

code: gitee.com/openeuler/b…

gitee.com/openeuler/b…

使用说明:gitee.com/openeuler/b…

特点:

1.毕昇 JDK 8 支持了 AppCDS,可以大幅缩短应用启动速度和多进程内存占用,对于短生命周期、大内存占用的应用,以及容器应用有较好的优化效果。

2.毕昇 JDK 11 在 ARM 架构上支持了实验性质的 ZGC,支持最大 10ms 时延,并进行了稳定性增强,开发者在 ARM 架构上也可以享受到低时延 GC 算法带来的优势。

3.毕昇 JDK 8 & 11 同时支持快速序列化技术,这项技术为一些场景提供了相比于 Java 原生序列化更强的序列化能力,在部分场景性能提升可达 20%。

Linux/AArch64 可用于生产

参考阅读:

www.infoq.cn/article/1pq…

www.hikunpeng.com/developer/d…

支持的OS列表

操作系统名称 版本 操作系统镜像文件名称
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
麒麟 V10 Kylin-Server-10-SP1-Release-Build04-20200711-arm64.iso

腾讯 KonaJDK

github.com/Tencent/Ten…

支持:x86-64 linux-aarch64

  • 向量计算(Vector API)。针对大数据、机器学习场景的“算力”优化需求,让JVM应用可以充分利用SIMD能力,移植并改进了社区前沿版本中的Vector API技术,解决了avx512向量可靠性等生产障碍,研发了向量移位寄存器分配等深度优化,并且已经upstream大量相关优化到OpenJDK主分枝。
  • 开箱即用的ZGC。作为Java生态翘首以待的“无暂停”GC算法之一,ZGC有望提供大部分情况下毫秒级停顿水平,极大提高Java在线服务场景生产力,但由于可靠性和功能的不足,某种程度上减慢了JDK 11采纳速度。Kona JDK补齐了社区JDK 11的能力短板,让Java开发者不必纠结于选择LTS还是非LTS版本,降低升级负担。
  • 超大堆和内存成本优化策略。面对从轻量级微服务,到多个超TB级大堆的严苛生产环境要求,Kona JDK 11沉淀了相关GC、SVC工具等生产级别优化
  • 腾讯成为全球企业贡献第五名,是国内为 OpenJDK 贡献最多的公司,并且是历史首次有国内厂商进入“Notable”贡献者范围

Linux/AArch64 可用于生产

下载地址:github.com/Tencent/Ten…

使用说明:github.com/Tencent/Ten…

其他参考阅读

mp.weixin.qq.com/s/8xRLM0DDw… 给Arm生态添把火,腾讯Kona JDK Arm架构优化实践

www.infoq.cn/article/lny… KonaJDK 赋能云上 Java 新生态

mp.weixin.qq.com/s/LGNs9Ljp5… KonaJDK 8 新版本更新,国密算法轻松用

blog.csdn.net/Tencent_Big… Tencent Kona JDK11无暂停内存管理ZGC生产实践

AdoptOpenJDK

下载地址:adoptium.net/releases.ht… image.png

LoongArch64/MIPS64 龙芯

JDK 下载和使用说明:www.loongnix.cn/index.php/J…

龙芯软件生态系列文章——聊聊龙芯Java开源

www.loongnix.cn/index.php/%… 龙芯相关项目

www.loongnix.cn/index.php/%… 龙芯开源社区

zhuanlan.zhihu.com/p/165350806 在龙芯上项目迁移与国产CPU思考

总结

  1. 以上JDK 都是支持 aarch64
  2. 都有生产实践
  3. 除了龙芯相关的JDK都有大厂支持

今天的文章针对国产CPU的JDK选择分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/15333.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注