vlambda博客
学习文章列表

再见,Java 8!Java 17 终于免费了,史上最快的 JDK。。

文 | 局长
出品 | OSC开源社区(ID:oschina2013)

上一篇:

,新版本提供了不少新特性和功能增强。不过对于大多数项目而言,往往需要更改代码才能利用到这些新变化,但性能除外 —— 开发者只需要升级 JDK 版本,就能免费获得性能提升。

规划调度引擎 OptaPlanner 项目负责人对 JDK 17、JDK 16 和 JDK 11 的性能基准测试进行了对比,看看 Java 17 的性能提升是否值得我们去升级。

测试环境和流程

1、硬件

稳定的机器,没有任何其他计算要求的进程在运行。

配置 Intel® Xeon® Silver 4116 @ 2.1 GHz (12 cores total / 24 threads) ,128 GiB RAM ,RHEL 8 x86_64

2、JDKs(用于编译和运行)

 
 

 
 

openjdk 17 2021-09-14
OpenJDK Runtime Environment (build 17+35-2724)
OpenJDK 64-Bit Server VM (build 17+35-2724, mixed mode, sharing)

3、JVM 选项

启用-Xmx3840M并明确指定垃圾回收器:

  • -XX:+UseG1GC for G1GC,低延迟垃圾回收器(三个 JDK 版本的默认项)
  • -XX:+UseParallelGC for ParallelGC,高吞吐量垃圾回收器

4、Main class

org.optaplanner.examples.app.GeneralOptaPlannerBenchmarkApp,来自 OptaPlanner 8.10.0.Final中的 optaplanner-examples模块

5、运行次数

每个 JDK 和每个垃圾回收器组合按顺序运行 3 次。下面的结果是这 3 次运行的平均值。

测试结果

Java 11 (LTS) and Java 16 versus Java 17 (LTS)

再见,Java 8!Java 17 终于免费了,史上最快的 JDK。。
再见,Java 8!Java 17 终于免费了,史上最快的 JDK。。
再见,Java 8!Java 17 终于免费了,史上最快的 JDK。。
再见,Java 8!Java 17 终于免费了,史上最快的 JDK。。

G1GC versus ParallelGC on Java 17

再见,Java 8!Java 17 终于免费了,史上最快的 JDK。。
再见,Java 8!Java 17 终于免费了,史上最快的 JDK。。

总结

基于 OptaPlanner 用例,这些基准测试表明:

简而言之,最新的 JDK 更快,高吞吐量垃圾回收器比低延迟垃圾回收器更快。

因此,Java 17 带来的性能提升非常值得升级,更重要的是它可以免费商用,而且还是 LTS 版本。

所以你还要坚持 Java 8 一万年不动摇吗?

原文链接:https://www.optaplanner.org/blog/2021/09/15/HowMuchFasterIsJava17.html

再见,Java 8!Java 17 终于免费了,史上最快的 JDK。。






关注Java技术栈看更多干货



再见,Java 8!Java 17 终于免费了,史上最快的 JDK。。

获取 Spring Boot 实战笔记!