Oracle提议G1作为Java 9的默认垃圾收集器

Oracle已开始考虑针对Java 9之类的JDK增强提案的JEP 248 ,这将使Garbage-First(G1)成为其标准垃圾收集器。 该决定在Java社区引起了轰动,许多人认为并发标记扫描(CMS)收集器绰绰有余。

以前,用于服务器配置的标准垃圾收集器是ParallelOld,其目的是通过偶尔的世界停止(STW)暂停来最大化应用程序吞吐量。 这特别适合于响应时间无关紧要的应用(例如批处理)。

G1收集器的对比度最大程度地减少了STW暂停,为此考虑到了较重的负担。 这对于低延迟的应用程序(例如Web服务器)特别有效。 Oracle本身对此观点表示赞同 ,CMS收集器在HotSpot中扮演相同的角色,因此引起了社区争议:

并发收集器是为那些希望较短的垃圾收集暂停并且可以在应用程序运行时与垃圾收集器共享处理器资源的应用程序而设计的。

许多基准测试清楚地表明,相对于G1收集器,CMS选项在占地空间相对较小的应用中更好,这也反映在官方说明中

G1的首要重点是为运行需要大堆且GC延迟有限的应用程序的用户提供解决方案。 这意味着堆大小约为6GB或更大,并且稳定且可预测的暂停时间低于0.5秒。

Oracle JDK 7,更新4和更高版本完全支持G1收集器。 如果使用CMS或ParallelOld运行的应用程序具有以下一个或多个特征,则建议切换到G1:

  • 超过50%的Java堆被实时数据占用。
  • 对象分配率或提升率差异很大。
  • 不必要的长时间垃圾收集或压缩暂停(长于0.5到1秒)

欢迎通过OpenJDK和hotspot-gc-use@openjdk.java.net邮件列表提供进一步的反馈和评论。

翻译自: https://jaxenter.com/oracle-proposes-g1-default-garbage-collector-java-9-118041.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值