再见,Java 8!Java 17 发布,堪称史上最快的 JDK

本文对比了Java 11、16与新发布的Java 17在JVM选项、Main类配置以及不同垃圾回收器下的性能表现。通过OptaPlanner基准测试,Java 17在G1GC和ParallelGC上分别比Java 11快8.66%和6.54%,展现出显著的性能提升。此外,Java 17作为LTS版本,其免费且商用的特性使其成为升级的优选。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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 (下载日期为 2021-09-06)

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模块

每次运行都使用 OptaPlanner 解决 11 个规划问题,例如员工排班、学校时间表和云优化。每个规划问题运行 5 分钟。日志记录设置为 INFO。基准测试以 30 秒的 JVM 预热开始。

解决规划问题不涉及 IO(除了在启动期间加载输入的几毫秒)。单个 CPU 完全饱和。它会不断地创建许多短期存在的对象,然后 GC 将它们收集起来。

基准测试会衡量每秒计算的分数数量,分数越高代表性能越好。为提议的规划解决方案计算分数并非易事:它涉及许多计算,包括检查每个实体与每个其他实体之间的冲突。

推荐:Java进阶视频资源

5.运行次数

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

测试结果


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

8cb9dedf36a43029400292daa8a9540b.png cdb4a801fd5513d3c830a8c2d5cd056b.png a98444aea8efe9b17ebba9d623059369.png 284a2dd508043e6637e6c6be35255387.png d8d9860dd4c2088ee4ffec2b8d0f0084.png 1fba3fff525b3d223e98b35db097fcbe.png

总结

基于 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%

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

因此,Java 17 带来的性能提升非常值得升级,更重要的是它可以免费商用,而且还是 LTS 版本。所以你还要坚持 Java 8 一万年不动摇吗?
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)

img

最后的话

无论是哪家公司,都很重视Spring框架技术,重视基础,所以千万别小看任何知识。面试是一个双向选择的过程,不要抱着畏惧的心态去面试,不利于自己的发挥。
同时看中的应该不止薪资,还要看你是不是真的喜欢这家公司,好了希望这篇文章对大家有帮助!

部分截图:
在这里插入图片描述

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

[外链图片转存中…(img-saHPzvUY-1713534186450)]

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值