写点什么

Oracle 提议将 G1 作为 Java 9 的默认垃圾收集器

  • 2015-06-16
  • 本文字数:810 字

    阅读完需:约 3 分钟

Oracle 正在考虑将 JEP 248 包含到 Java 9 的 JEP 列表中,即在服务器配置中将 G1 作为默认垃圾收集器。该决定在 Java 社区引发了一些争论,许多人都认为并发标记和扫描(CMS)收集器可能更合适。

如果该决定付诸实施,那么 G1 将取代并行垃圾收集器成为服务器配置的默认选项。正如 Oracle 在内存管理白皮书中描述的那样,并行垃圾收集器的设计初衷是,通过不常发生(但可能时间比较长)的 Stop-The-World(STW)中断最大化应用程序吞吐量。并行垃圾收集器将消耗的总计算时间最小化,长远来看,其破坏性更小,因此可以提供更好的整体性能。该收集器非常适合对响应时间要求不高的应用程序,比如,批处理。

另一方面,正如前 G1 性能负责人 Monica Beckwith先前在 InfoQ 上阐述的那样,Garbage First(G1)的设计初衷是,以更高的计算成本为代价最小化 STW 中断时间。G1 更适合于低延迟应用程序,如 Web 服务器,这也体现了 Stefan Johansson 在 JEP 中所描述的动机:

通常来说,限制 GC 中断时间比最大化吞吐量更重要。对大部分用户而言,与面向吞吐量的收集器相比(如并行垃圾收集器),切换到中断时间短的垃圾收集器(如 G1),可以获得更好的整体体验。

这里出现了争议。HotSpot 因为同样的目的引入了 CMS,而实际上,按照 Oracle 的描述,CMS“设计用于更希望缩短垃圾收集中断时间的应用程序,以及在运行时可以与垃圾收集器共享处理器资源的应用程序”。许多公开的基准测试都表明,在内存占用相对较小的应用程序中,CMS 的性能往往要胜过 G1,这与 Oracle 对 G1 的描述一致,即 G1 适用于堆大小为 6GB 及以上的服务器应用程序。

在最近的一次交流中,性能专家 Kirk Pepperdine 特别指出,谷歌已经向 CMS 贡献了若干改进,但它们从没有出现在 HotSpot 中。他还补充说,虽然长远看 G1 可能是更好的选择,但 Oracle 的设计方案已经剥夺了社区从 CMS 获得更好体验的权力。

查看英文原文: Oracle Proposes G1 as the Default Garbage Collector for Java 9

2015-06-16 22:179273
用户头像

发布了 1008 篇内容, 共 396.9 次阅读, 收获喜欢 345 次。

关注

评论

发布
暂无评论
发现更多内容

JNPF低代码开发平台赋能数智化转型探索及趋势分析

快乐非自愿限量之名

低代码

Spring Cloud Ribbon 实现“负载均衡”的详细配置说明

快乐非自愿限量之名

Spring Boot

Java实现随机抽奖的方法有哪些

不在线第一只蜗牛

Java Python

华为之泉,涌入开源事业的大江大河

脑极体

AI 软件

如何评估迷因币的成功潜力?

区块链软件开发推广运营

交易所开发 链游开发 公链开发 链游开发dapp开发 NFFT开发

用通义灵码,从 0 开始打造一个完整APP,无需编程经验就可以完成

阿里云云效

阿里云 云原生

想管理好团队?一定要三“靠”三“不靠”

敏捷开发

管理 团队建设 企业管理 团队协同

鸿蒙开发Hvigor任务简介

龙儿筝

JS数据类型&类型转换

EquatorCoco

JavaScript

官方带队实测,阶梯式解锁飞桨框架3.0能力新特性,轻松上手!

飞桨PaddlePaddle

百度 飞桨AI

精准测试如何落地

霍格沃兹测试开发学社

Spring Cloud微服务下如何配置I8n

快乐非自愿限量之名

Java 微服务 Spring Boot

如何使用Python开发1688商品详情API接口?

科普小能手

API 1688 Python开发 API 接口 1688商品详情接口

浅谈DNS递归解析和迭代解析之间的区别

国科云

域名解析 DNS解析

访问海外网站的网络工具: SD-WAN海外专线

Ogcloud

SD-WAN SD-WAN组网 SD-WAN国际专线 海外网络专线 跨国网络专线

Gemini 发布 iOS app,Live 语音聊天免费用;微信公众号上线 AI 音色克隆功能丨 RTE 开发者日报

声网

智能可观测护航“双十一”,电商零售高峰稳健冲刺!

博睿数据

1688 API接口深度解析:商品详情、关键词搜索、店铺商品列表与拍立淘

代码忍者

API 接口 pinduoduo API

技术干货丨助力企业研发数字化转型,Altair全新仿真管理平台解决方案

Altair RapidMiner

数据分析 仿真 智能制造 altair SPDM

实操案例|TinyVue树表+动态行合并

OpenTiny社区

开源 前端 组件库 OpenTiny TinyVue

Go协程池开源库及示例用法

baiyutang

Go golang 编程 云原生

API13Bate版来了DevEco已更新快来看新功能吧

龙儿筝

从校招生到项目经理,菜鸟如何开展项目管理

京东科技开发者

Node Exporter 可观测性最佳实践

观测云

Node Exporter

淘宝/天猫商品详情API返回值深度剖析与实战运用:聚焦taobao.item_get_desc

代码忍者

API 接口 pinduoduo API

多分支组网解决方案:SD-WAN

Ogcloud

SD-WAN 企业组网 SD-WAN组网 SD-WAN服务商 SDWAN

揭秘,实时比赛统计模块如何集成开发到体育直播平台

软件开发-梦幻运营部

wifi7 IPQ5322 and QCN9274/QCN6274 Chip Solutions Detailed Overview and Application Prospects

wifi6-yiyi

WiFi7 wap3

电商开发者必备:深入解析微店商品详情API接口

代码忍者

API 接口 pinduoduo API

写一个Chrome浏览器插件

京东科技开发者

用通义灵码,从 0 开始打造一个完整APP,无需编程经验就可以完成

阿里巴巴云原生

阿里云 云原生

Oracle提议将G1作为Java 9的默认垃圾收集器_Java_Abraham Marín Pérez_InfoQ精选文章