千家信息网

Java8最快的垃圾搜集器是哪个

发表于:2025-01-18 作者:千家信息网编辑
千家信息网最后更新 2025年01月18日,这篇文章主要介绍"Java8最快的垃圾搜集器是哪个",在日常操作中,相信很多人在Java8最快的垃圾搜集器是哪个问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"Java8
千家信息网最后更新 2025年01月18日Java8最快的垃圾搜集器是哪个

这篇文章主要介绍"Java8最快的垃圾搜集器是哪个",在日常操作中,相信很多人在Java8最快的垃圾搜集器是哪个问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"Java8最快的垃圾搜集器是哪个"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

OpenJDK 8 有多种 GC(Garbage Collector)算法,如 Parallel GC、CMS 和 G1。哪一个才是最快的呢?如果在 Java 9 中将 Java 8 默认的 GC 从 Parallel GC 改为 G1 (目前只是建议)将会怎么样呢?让我们对此进行基准测试。

基准测试方法

运行相同的代码六次,每次使用不同的VM参数(-XX:+UseSerialGC, -XX:+UseParallelGC, -XX:+UseConcMarkSweepGC, -XX:ParallelCMSThreads=2, -XX:ParallelCMSThreads=4, -XX:+UseG1GC)。

每次运行大概花费55分钟。

其它VM参数:-Xmx2048M -server

OpenJDK版本:1.8.0_51(当前***的版本)

软件:Linux version 4.0.4-301.fc22.x86_64

硬件:Intel? Core? i7-4790 CPU @ 3.60GHz

每次运行13个?OptaPlanner?规划问题方案。每次运行时间为5分钟。前30秒用于JVM预热,不计算在内。

解决规划问题不涉及 IO (除了启动时需要几毫秒来加载输入信息)。单个 CPU 使用完全饱和。通常会创建许多存活时间很短的对象,GC 之后就会回收这些对象。

衡量标准可以是计算每毫秒的得分,越高越好。计算一个拟议规划解决方案是一个不可小觑的问题:涉及到大量的计算,包括每个实体与其他所有实体的冲突检测。

为了能在本地重复运行这些基准测试,可以从源码进行构建,然后运行主类 GeneralOptaPlannerBenchmarkApp。

基准测试结果

执行结果

为了方便查看,我已经对每种 GC 与 Java 8 默认 GC(Parallel GC)进行了比较。

结果非常清楚:默认(Parallel GC)是最快的

原始基准测试数据

相对基准测试数据

Java 9 默认应该为 G1 吗?

有一种提议是在 OpenJDK9 的服务器端使用 G1 作为默认 GC。我***反应就是拒绝该提议:

G1 的平均值要慢17.60%

G1 在每个数据集用例下都比较慢。

在***数据集(Machine Reassignment B10)下,表现比其它数据集都要差,G1 慢了34.07%。

如果在开发机和服务器之间采用不同的默认 GC,则开发者基准测试的可信度就会下降。

另一方面,存在几个需要注意的细节:

G1 关注是 GC 暂停的问题,而不是吞吐量。对于这些用例(计算量比较大),GC 暂停时长基本没影响。

这是一个(基本是)单线程的基准测试。并行解决多个问题或采用多线程解决的基准测试,结果可能不同。

G1 推荐的堆内存至少是 6GB。而这次基准测试的堆内存是 2GB,即使在***数据集(Machine Reassignment B10)也只需要这么多内存。

海量计算只是 OpenJDK 的诸多功能中的一个:这是在社区广泛争论的一个问题。如果有其他方面(如网站服务)的证明,可能值得改变默认GC。但是,请首先向我展示你实际项目的基准测试。

到此,关于"Java8最快的垃圾搜集器是哪个"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

基准 测试 问题 最快 数据 运行 垃圾 结果 学习 不同 内存 服务 规划 参数 只是 实体 对象 方案 方法 时间 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 重庆市电信网络安全宣传周 奉贤区个性化网络技术维保 盐城海航软件开发推荐咨询 梦三国 连接服务器失败 江苏数据库空投箱现货 嘉兴工业互联网天通科技园 大学数据库服务器 蚁安居网络技术怎么样 计算机网络技术包括美术吗 大话西游2原服务器查询 ic卡加油系统 软件开发 蚌埠电力软件开发定制公司 网络安全构架专业 上海北斗时钟服务器配置 衡阳学软件开发的学校 网络安全法 银行 案例 浪潮服务器id灯蓝色啥意思 神佑释放那个服务器人多 网络安全最大的软弱是什么单选题 游戏联机需要服务器吗 已备案域名指向国外服务器 工业图控系统软件开发多少钱 顺德软件开发公司推荐 2020河北省网络安全大赛 公司软件开发资格证 信息网络安全要求 昆明打电销软件开发 网络服务器管理系统设置实训目的 泰拉瑞亚端游怎么开服务器 软件开发时期的三个阶段
0