写点什么

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:179243
用户头像

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

关注

评论

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

Docker(二)Docker-Compose、网络、数据卷

神农写代码

洗车店洗车贵试试自助洗车吧

共享电单车厂家

自助洗车加盟 车白兔自助洗车 什么是自助洗车 自助洗车价格

HDFS、纱线、蜂巢MRS中使用Ranger实现权限管理全栈式实践

华为云开发者联盟

大数据 后端 MRS

牛逼!这份24W字的SpringBoot从入门到实战让你彻底玩明白

了不起的程序猿

Java springboot java程序员

深入理解 Linux 的 TCP 三次握手

C++后台开发

Linux TCP 后端开发 C++后台开发 C++开发

linux之拖拽上传文件

入门小站

Linux

C 语言入门(六)

逝缘~

7月月更

鸿湖万联致远开发板正式合入OpenHarmony主干

科技汇

24小时自助共享洗车有人洗吗

共享电单车厂家

24小时无人自助洗车 自助洗车加盟 车白兔自助洗车 自助洗车店

使用Java客户端发送消息和消费的应用

hum建应用专家

云计算

Allure测试报告怎么设置

和牛

测试

在线SQL转YAML工具

入门小站

工具

渲染与云渲染:一部电影的制作25%的时间是在“等”

Finovy Cloud

GPU服务器

如何在企业工作中应用知识管理,解决企业的问题?

Baklib

知识管理

要想不踩SaaS那些坑,得先了解“SaaS架构”

华为云开发者联盟

云计算 开发 SaaS DTT

区块链合约安全系列(三):如何认识及预防公链合约中的自毁攻击

BSN研习社

区块链、

“智慧工厂”上线,破局传统工厂数字化转型

AIRIOT

低代码 物联网 低代码,项目开发

使用 SSH 方式拉取代码

攻城狮杰森

git GitHub SSH gitee 7月月更

Allure测试报告怎么设置

和牛

测试

九联科技开发板正式合入OpenHarmony主干

科技汇

Grafana Labs携手阿里云,将提供国内首款Grafana托管服务

Lily

英特尔发布开源AI参考套件

科技之家

17张图带你深度剖析 ArrayDeque(JDK双端队列)源码

程序员小毕

Java 源码 程序员 jdk 队列

企业在创建产品帮助中心时需要注意的问题!

Baklib

企业 客户服务 帮助中心

自动化生成Javascript调用后台代码v0.5.3版本

百家饭隐私计算平台创业者

JavaScript API

行业首个「视频直播技术最佳实践图」发布!

阿里云CloudImagine

阿里云 音视频 直播

JSON 和JavaScript 介绍与区别

devpoint

JavaScript json 7月月更

华为云Stack南向开放框架,帮助生态伙伴高效入云

华为云开发者联盟

云计算 后端

在创建生成WIFI二维码手机扫码链接

入门小站

工具

国内外知名的待办事项app有哪些

爱吃小舅的鱼

待办事项 todolist

SQL也能做AI ?没错!MLOps Meetup V3 回顾|OpenMLBD+SQLFlow+Byzer

星策开源社区

人工智能 机器学习 sql 特征平台

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