AI实践哪家强?来 AICon, 解锁技术前沿,探寻产业新机! 了解详情
写点什么

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

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

关注

评论

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

STM32+ESP8266+MQTT协议连接阿里云物联网平台

DS小龙哥

7月月更

1000个Okaleido Tiger首发上线Binance NFT,引发抢购热潮

BlockChain先知

架构实战营模块二作业

zhihai.tu

开源分布式链路追踪对比

穿过生命散发芬芳

链路追踪 7月月更

汇编语言伪指令详解(附实例)

timerring

汇编语言 7月月更 伪指令

通过http请求启动jenkins任务

程序员欣宸

Java jenkins 7月月更

CentOS 7 常用的 11 个小技巧

耳东@Erdong

Linux 7月月更

D1-H 开发板——哪吒 开发入门

贾献华

7月月更

Redis管道技术/分区

恒山其若陋兮

7月月更

使用 Vue + Three.js 构建交互式 WEB 作品展示集(一)

devpoint

Vue three.js 7月月更

python干货——函数

Java学术趴

7月日更

Qt | 设置部件大小 sizeHint、minimumSizeHint、sizePolicy、stretch factor

YOLO.

qt 7月月更

什么是 Rest 动词

宇宙之一粟

REST API 7月月更

查策,查策,python字体反爬再一次实践

梦想橡皮擦

Python 爬虫 7月月更

在openEuler社区开源的Embedded SIG,来聊聊它的多 OS 混合部署框架

openEuler

Linux 开源 操作系统 嵌入式 openEuler

1000个Okaleido Tiger首发上线Binance NFT,引发抢购热潮

鳄鱼视界

接口测试

Xd

接口测试工具

LibcarePlus 用户态热补丁技术那些事

openEuler

安全 openEuler 漏洞 #开源

ES6箭头函数的使用

bo

JavaScript 前端 ES6 7月月更

计算机网络之初识网络

未见花闻

7月月更

视频号加强打击低俗内容:对违背公序良俗的内容必须赶尽杀绝

石头IT视角

strncat() strncmp()

謓泽

7月月更

1000个Okaleido Tiger首发上线Binance NFT,引发抢购热潮

股市老人

MySQL数据库索引

技术小生

索引 7月月更

节流和防抖的说明和实现

南极一块修炼千年的大冰块

7月月更

阿里onedate分层思想

奔向架构师

数据中台 7月月更

openEuler 资源利用率提升之道 01:概论

openEuler

开源 openEuler 内核 资源管理

最新的swoole-cli已可以支持Windows,手把手带你在windows体验swoole

迷彩

swoole 服务器开发 7月月更 swoole-cli

JAVA编程规范之建表规约

源字节1号

后端开发

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