Java17,有史以来最快 JDK
扫描二维码
随时随地手机看文章
Java 17 已正式发布,该版本是自Java 11以来的首个长期支持版本。Oracle 还提议将 JDK LTS发布的节奏从每三年一次改为每两年一次,并且每个LTS 版本的服务时间至少8年以上。Java 版本通常是6个月一更新,时间分别在3月和9月,而这些版本的支持时间基本在半年左右。
-
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)
-
JDK 11
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 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 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,高吞吐量垃圾收集器。
-
每次运行都使用 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%。