最近遇到一个问题:Oracle JDK 8 在 ARM 机器上性能特别差!
我的第一直觉就是是不是 JDK 8 在 ARM 不兼容?
为了研究这个问题,我探究了一圈,主要是找找有没有同行遇到这个问题,在找的过程中呢,发现了几款国产 JDK,这里先推荐给大家,当然我最近也做了一些性能压测,稍后会分享给大家!
替代 Oracle JDK 的最常见做法是 OpenJDK, 这个想必大家都知道了,不再多说。
国内比较知名的企业当然要数:华为,腾讯和阿里了,这三款不错的国产 JDK 正是来自他们。
排名不分先后,欢迎大家试用:
-
bisheng JDK, 华为毕昇 JDK
-
Kona JDK,腾讯 Kona JDK
-
Dragonwell JDK,阿里巴巴 Dragonwell JDK
bisheng JDK
官网:https://www.openeuler.org/zh/other/projects/bishengjdk/
毕昇 JDK 是华为内部基于 OpenJDK 定制的 Huawei JDK 的开源版本。Huawei JDK 运行在华为内部 500 多个产品上,研发团队积累了丰富的开发经验,解决了业务实际运行中遇到的多个疑难问题。
毕昇 JDK 作为 OpenJDK 的下游,是一款高性能、可用于生产环境的 OpenJDK 发行版。毕昇 JDK 对华为内部应用场景中遇到的一些性能问题和稳定性问题进行了修复,并在 ARM 架构上进行了性能优化和稳定性增强,在 ARM 架构上更稳定,在大数据等场景下可以获得更好的性能。
毕昇 JDK 致力于为 JAVA 开发者提供一款稳定可靠、高性能、易调测的 JDK ,也为用户在 ARM 架构上提供一个更好的选择。
Kona JDK
官网:https://cloud.tencent.com/product/tkjdk
Kona JDK 是什么?
Tencent Kona JDK,是腾讯基于社区 Open JDK 定制开发的 JDK 版本,广泛服务于腾讯内部业务和腾讯云上客户,经过了内部大数据和AI等复杂业务场景的验证,为腾讯 JAVA 生态提供专业持续的保障,具有稳定性高、安全性高、性能好等特点。
Kona JDK 优势
高性能和低成本:在腾讯大数据计算场景数万台服务器生产集群验证下,和Open JDK 8相比,Kona JDK 8吞吐提升8%,CPU 和内存使用率均降低10%左右;
开箱即用的 Vector API 支持:解决了向量指令适配导致的 JVM crash 等问题,业界率先落地,稳定支持广告训练场景;
多种 GC 优化:G1 GC 内存 overhead 和并行 Full GC 算法优化,同时针对强实时在线服务需求,推出生产级别的 ZGC;
KonaFiber 协程:已经在IEG天美游戏业务合作落地,目前根据benchmark测试,协程创建/切换/调度等性能大幅超过社区Loom;
支持 ARM 国产化 CPU;
Dragonwell JDK
官网:https://www.aliyun.com/product/dragonwell
Alibaba Dragonwell 是阿里云针对云计算下的微服务、大数据、函数计算等场景高度优化的 OpenJDK 发行版,力求在稳定性,性能,以及技术前瞻性方面,满足云上 Java 用户的需求。
好了,今天的内容比较简单,主要目的是为大家介绍 3 款国内大牌 JDK 供大家在选择 JDK 时有更多的选项,下一篇将为大家实测各 JDK 在 x86 及 arm 机器上的具体表现,敬请期待。
我是祥子,不拉车的祥子,欢迎大家来我的公&号:新质程序猿,一起互动交流,公&号上会分享更多干货(部分内容 CSDN 有限制)。
新建的程序猿接单交流群正在火热进人中,欢迎各位老板和感兴趣的圈友加入(加:hyx2011 拉你)