写点什么

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

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

关注

评论

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

疫情下的人生百态

6979阿强

图计算 GraphScope 新冠

区块链盲盒游戏app软件开发|盲盒游戏软件介绍

量化系统19942438797

区块链 智能合约 盲盒

netty系列之:自建客户端和HTTP服务器交互

程序那些事

Java Netty 程序那些事

网络攻防学习笔记 Day122

穿过生命散发芬芳

网络安全 8月日更

算法毕业总结

Geek_Gu

中证协组织专题座谈会,加快推进区块链技术在证券行业应用

CECBC

架构实战营模块1作业

^_^

架构实战营

架构设计-模块一

逝水流

架构

百分点大数据技术团队:BI嵌入式分析实践

百分点科技技术团队

BI 百分点科技 嵌入式分析

Tapdata Cloud 版本上新!率先支持数据校验、类型映射等6大新功能

tapdata

MySQL nosql schema

读书笔记 -《数据密集型应用系统设计》- 数据编码

KayTin

细思极恐!Alibaba新产SpringBoot深度历险(嵩山版)开源

Java 编程 架构 面试 架构师

GitHub获120w+star的JDK源码剖析手册,竟出自Alibaba高管之手?

Java 架构 面试 程序人生 Alibaba

SharingSphere 源码解析 -- 真实SQL生成探索

数据库 源码

区块链技术发展趋势与银行业探索实践

CECBC

新时代大视频产业的底座,视频云创变了什么?

阿里云CloudImagine

阿里云 直播技术 视频制作 视频流 视频云

ipfs矿机是什么?ipfs矿机挖出的币能交易吗?

区块链 分布式存储 ipfs挖矿 ipfs矿机 filecoin挖矿

融云 X-Live 系列直播启动,遇见通信的无限可能

融云 RongCloud

开发者 音视频 通信 融云 即时通信

百分点感知智能实验室:语音识别技术发展阶段探究

百分点科技技术团队

语音识别 百分点科技 感知智能

快手平台严管售卖“仿黄金类饰品”,直播带货在收割消费者

石头IT视角

Linux之last命令

入门小站

Linux

跨越AI天堑时:行动代号“盘古大模型”

脑极体

模块1-作业

笑看风雨情

数字化时代商业银行客户触达策略研究 从数据到服务 由场景到生态

CECBC

Google官方bazel构建工具的安装

Changing Lin

8月日更

分享 10 个高星的创意项目!

程序员鱼皮

Java Python 数据库 大前端 Go 语言

AlphaFold2“登陆”北鲲云平台,云计算助力科研大放异彩

北鲲云

不用手机,如何让猫给你打视频电话丨日常小技

RTE开发者社区

物联网 目标检测 目标跟踪

程序员应该专注技术还是转管理?

石云升

职业规划 职场经验 8月日更

webrtc 即时带宽评估器(BitrateEstimator)

webrtc developer

WebRTC

我遇到的那些工长

escray

生活记录 8月日更

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