Java17,有史以来最快 JDK
点击上方蓝色字体,选择“标星公众号”
优质文章,第一时间送达
背景
Oracle 推出 Free Java License
Oracle正在为行业提供免费的,领先的Oralce JDK,包括所有季度安全更新,并包含商业和生产用途。 新许可是“Oracle 免费条款和条件”(NFTC) 许可。此Oracle JDK许可证允许所有用户免费使用,甚至可以用于商业和生产用途。只要不收费,再分发是允许的。 开发人员和组织现在无需点击即可轻松下载、使用、共享和重新分发 Oracle JDK。 Oracle 将从Oracle JDK 17开始提供这些免费版本和更新,并在下一个 LTS 版本之后继续提供整整一年。以前的版本不受此更改的影响。 Oracle 将继续按照自 Java 9 以来的相同版本和时间表提供GPL下的Oracle OpenJDK 版本。
Java 17+(来自 Spring Framework 5.3.x 线中的 Java 8-17) Jakarta EE 9+(来自Spring框架5.3.x 线中的 Java EE 7-8)
要不要升级呢?Java 17 到底有多快?
基准方法
硬件:一个稳定的机器不运行任何其他的计算要求苛刻的流程,配置:Intel® Xeon® Silver 4116 @ 2.1 GHz (12 cores total / 24 threads)和128 GiBRAM内存,运行RHEL 8 x86_64。
JDK版本
JDK 11
openjdk 11.0.12 2021-07-20
OpenJDK Runtime Environment Temurin-11.0.12+7 (build 11.0.12+7)
OpenJDK 64-Bit Server VM Temurin-11.0.12+7 (build 11.0.12+7, mixed mode)
JDK 16
openjdk 16.0.2 2021-07-20
OpenJDK Runtime Environment (build 16.0.2+7-67)
OpenJDK 64-Bit Server VM (build 16.0.2+7-67, mixed mode, sharing)
JDK 17
openjdk 17 2021-09-14
OpenJDK Runtime Environment (build 17+35-2724)
OpenJDK 64-Bit Server VM (build 17+35-2724, mixed mode, sharing)
-XX:+UseG1GC 对于 G1GC,低延迟垃圾收集器(所有三个 JDK 中的默认值); -XX:+UseParallelGC 对于 ParallelGC,高吞吐量垃圾收集器。
Main class:org.optaplanner.examples.app.GeneralOptaPlannerBenchmarkApp 来自optaplanner-examplesOptaPlanner 中的模块8.10.0.Final。
每次运行都使用 OptaPlanner 解决 11 个规划问题,例如 员工排班、 学校时间表和云优化。每个规划问题运行 5 分钟。日志记录设置为INFO。基准测试以 30 秒的 JVM 预热(warm up)开始,随后丢弃。 解决规划问题不涉及IO(除了在启动期间加载输入的几毫秒)。单个CPU完全饱和。它不断地创建许多短期存在的对象,然后 GC 将它们收集起来。 基准衡量每秒计算的分数数量,越高越好。为测试计划规划的解决方案计算分数并非易事:它涉及许多计算,包括检查每个实体与每个其他实体之间的冲突。
平均而言,以 OptaPlanner 为例的基准测试结果表明: 对于 G1GC(默认),Java 17 比 Java 11 快 8.66%,比 Java 16 快 2.41%。 对于 ParallelGC,Java 17 比 Java 11 快 6.54%,比 Java 16 快 0.37%。 Parallel GC 比 G1 GC 快 16.39%。
评论