写点什么

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

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

关注

评论

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

一口气说出四种幂等性解决方案,面试官露出了姨母笑~

不才陈某

Java 分布式 接口

搭建网站/APP最全准备攻略

前嗅大数据

小程序 建站 APP发布

信任的传递——为什么我们需要第三方授权?

张凯峰

证书 身份认证

我和阿里P7差的不是薪资?而是Redis+微服务+Nginx+MySQL+Tomcat

Java架构之路

Java 程序员 架构 面试 编程语言

传统巨头抢占区块链场景高地 医疗、汽车、金融成为热门赛道

CECBC

区块链 金融

附PPT丨AI和云原生时代的数据库进化之路

dbaplus社群

数据库 云原生

AWS 助力贝壳VR看房走出国门,升级全球居住服务新体验

亚马逊云科技 (Amazon Web Services)

AWS

住建部等六部门:广泛运用区块链等技术,建设智慧物业管理服务平台

CECBC

物业生活

云南区块链电子发票全面推广啦!

CECBC

区块链 纳税人

好久不见!这份Spring全家桶、Docker、Redis架构大礼包免费赠送

Java架构之路

Java 程序员 架构 面试 编程语言

云图说 | 云上资源管控有神器!关于IAM,你想知道的都在这里!

华为云开发者联盟

服务 权限管理 iam

VACUUM无法从表中删除死元组的三个原因

PostgreSQLChina

数据库 postgresql

Java中多线程安全问题实例分析

叫练

Java 多线程 什么是多线程 多线程与高并发

浅谈JDK并发包下面的分治思想及分治思想在高并发场景的运用

AI乔治

Java 架构 jdk 分布式 多线程与高并发

记一次MapReduce的内存溢出

AI乔治

Java mapreduce 架构 内存溢出

耗时一个月整理的97道大厂Java核心面试题出炉,精心整理,无偿分享

Java架构之路

Java 程序员 架构 面试 编程语言

Java进阶文档:彻底搞懂JVM+Linux+MySQL+Netty+Tomcat+并发编程

Java架构之路

Java 程序员 架构 面试 编程语言

太赞了!滴滴开源了一套分布式ID的生成系统...

Java架构师迁哥

第13周作业

饭桶

如何在数智化时代少走弯路? 这里有100个案例可以借鉴

京东科技开发者

DevOps 云原生

面试被问高并发一脸懵?那是你没看过我整理得高并发回答模板

小Q

Java 学习 面试 高并发 性能调优

第十三周学习总结

饭桶

建信金科大咖访谈:金融衍生品定价与建行实践

金科优源汇

金融科技 金融创新

Elasticsearch 新机型发布,性能提升30%

腾讯云大数据

大数据 elasticsearch Elastic Stack

一文为你详解Unique SQL原理和应用

华为云开发者联盟

数据库 sql unique

即构实时音视频多中心调度设计

ZEGO即构

Shell脚本命令常用技巧

MySQL从删库到跑路

shell脚本编写

图文回顾丨北京「解构云原生:企业数字化转型新支点」沙龙

Rancher

k8s rancher

80%Java开发者面试都问的SpringBoot你竟不会?看完这些笔记足以

Java架构之路

Java 程序员 架构 面试 编程语言

面向全场景模块化设计 京东智联云的服务器部署有多灵活?

京东科技开发者

服务器 云主机

EMAS远程日志 - 移动端问题排查利器

移动研发平台EMAS

阿里云 运维 日志 监控告警 应用

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