背景
需要调研使用国产的CPU,需要什么样的JDK
以国产CPU 飞腾和龙芯为例,飞腾是ARM架构,而龙芯是MIPIS架构,默认为JDK8
下面的JDK 都是在openJDK的基础上增加了一些特性或者优化了JVM的特性,经过测试和生产实践之间之后推出的,所以相对openJDK有更好的可靠性
ARMv8飞腾
阿里 Dragonwell
code : 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…
特点:
1.毕昇 JDK 8 支持了 AppCDS,可以大幅缩短应用启动速度和多进程内存占用,对于短生命周期、大内存占用的应用,以及容器应用有较好的优化效果。
2.毕昇 JDK 11 在 ARM 架构上支持了实验性质的 ZGC,支持最大 10ms 时延,并进行了稳定性增强,开发者在 ARM 架构上也可以享受到低时延 GC 算法带来的优势。
3.毕昇 JDK 8 & 11 同时支持快速序列化技术,这项技术为一些场景提供了相比于 Java 原生序列化更强的序列化能力,在部分场景性能提升可达 20%。
Linux/AArch64 可用于生产
参考阅读:
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
支持: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 可用于生产
其他参考阅读:
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…
LoongArch64/MIPS64 龙芯
JDK 下载和使用说明:www.loongnix.cn/index.php/J…
www.loongnix.cn/index.php/%… 龙芯相关项目
www.loongnix.cn/index.php/%… 龙芯开源社区
zhuanlan.zhihu.com/p/165350806 在龙芯上项目迁移与国产CPU思考
总结
- 以上JDK 都是支持 aarch64
- 都有生产实践
- 除了龙芯相关的JDK都有大厂支持
今天的文章针对国产CPU的JDK选择分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/15333.html