50万奖金+官方证书,深圳国际金融科技大赛正式启动,点击报名 了解详情
写点什么

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

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

关注

评论

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

Flutter:创建透明/半透明的应用栏

坚果

6月月更

【高并发】高并发环境下如何防止Tomcat内存溢出?看完我懂了!!

冰河

并发编程 多线程 高并发 异步编程 6月月更

Android 音视频——NuPlayer的渲染模块

程思扬

音视频 安卓 音视频开发

JS语言基础

Jason199

js 6月月更

vue基本语法使用

小恺

6月月更

Fork Join框架

急需上岸的小谢

6月月更

SAP Restful ABAP Programming 编程模型的 Action 实现和云端调试介绍

汪子熙

云计算 云原生 SAP abap 6月月更

Django API 开发:一个 Todo 应用的后端

宇宙之一粟

6月月更

数据库每日一题---第2天:查找重复的电子邮箱

知心宝贝

数据库 算法 前端 后端 6月月更

Redis篇之协议与序列化

邱学喆

redis协议 序列化操作 luttuce

详述Java中sort排序函数

工程师日月

算法 Java EE 6月月更

如何在项目中直接使用Hystrix?

编号94530

Java spring Hystrix 熔断器

Discourse 支持中文用户名

HoneyMoose

拒绝八股文!这篇图解动态路由分分钟爱了

wljslmz

网络工程师 网络技术 动态路由 6月月更 路由协议

《非暴力沟通》:如何温柔地沟通?

郭明

读书笔记

测试的核心竞争力是什么?

老张

软件测试 核心竞争力

【技能树共建】Python 三元表达式

梦想橡皮擦

6月月更

后端技术复习

卢卡多多

技术栈 6月月更

EasyRecovery15官方最新版下载功能介绍

茶色酒

EasyRecovery Easyrecovery破解 EasyRecovery15

如何在 WordPress 中嵌入 iFrame

海拥(haiyong.site)

WordPress 6月月更

透过华为军团看科技之变(二):机场轨道

脑极体

5分钟了解CDN的功能及原理

穿过生命散发芬芳

CDN 6月月更

【LeetCode】独特的电子邮件地址Java题解

Albert

LeetCode 6月月更

linux驱动开发_文件系统本地挂载

DS小龙哥

6月月更

Flutter 使用 Redux 的中间件实现异步状态管理

岛上码农

flutter 安卓开发 ios 开发 跨平台应用 6月月更

创业 2 年值得分享的事情

琚致远

创业 apache 社区

网页设计制作要注意哪些问题

源字节1号

每日一题 | LeetCode 242 有效的字母异位词

武师叔

哈希表 Leet Code 6月月更

【愚公系列】2022年06月 二十三种设计模式(二十二)-模板方法模式(Template Method Pattern)

愚公搬代码

6月月更

spring event 介绍

Nick

Java spring springboot 6月月更 spring event

Linux下可执行程序的Shell传参格式规范

乌龟哥哥

6月月更

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