跳到内容

JDK 的另一个选择:OpenJDK with Eclipse OpenJ9

发布于:2020年2月26日
Cover

toc

背景

Oracle JDK 开始收费后,大家都转移到了 OpenJDK,OpenJDK 包括 Java 类库和 JVM 虚拟机,默认的虚拟机是来自 Oracle 的 Hotspot,但是其实 JVM 还有其他的选择,OpenJ9 是 IBM 捐赠给 Eclipse 基金会的 JVM,作为 Java 老牌厂商,IBM 的实力还是不可小觑的,OpenJ9 具有很多有点,这些优点十分适合云环境,并且商业使用完全免费。

OpenJ9 的官网是:

https://www.eclipse.org/openj9/

OpenJ9 优点

直接引用官方网站的数据:

https://www.eclipse.org/openj9/oj9_performance.html

更小的启动内存消耗

p1.png

更小的预热内存消耗

p2.png

更快的启动时间

p3.png

相同的吞吐量

p4.png

更快的预热时间

p5.png

一个不太严谨的测试

我有两个 Spring Boot 微服务,跑在阿里云一台 2C4G 的服务器上,我将 Hotspot JVM 换成 OpenJ9 后,有了肉眼可见的效果。

下面表格记录了启动时间和内存占用数据。

版本:

服务 A

测试项HotspotOpenJ9
启动时间9.473s6.008s
启动后内存占用162M100M
工作时内存占用209M145M

服务 B

测试项HotspotOpenJ9
启动时间10.967s8.155s
启动后内存占用207M138M
工作时内存占用259M188M

再次说明,这个测试不严谨,但是数字变化很明显,可供参考。

如何获取

Oracle JDK 收费后,最好用的 JDK 分发版是 AdoptOpenJDK,可以到 https://adoptopenjdk.net/ ,下载 OpenJDK with OpenJ9。

注意在下载页 Choose a JVM 的时候,选择 OpenJ9 即可。

AdoptOpenJDK

玩得愉快。

欢迎关注同名微信公众号,文章自动推送:

nomadic-blood