Java 9许愿清单:请赐予我们更理想的垃圾回收机制

甲骨文公司表示低暂停G1垃圾回收机制将在取代Parallel GC提高系统执行效率。

目前甲骨文正计划将G1服务器垃圾回收机制作为32位与64位Java服务器配置方案中的默认回收选项,但这种处理方式可能带来一系列后续问题。

正如于今年早些时候首次发布并于本月刚刚进行了更新的JEP(即JDK增强方案)248所指出,此次回收机制变更的动机在于将暂停时间引入内存管理。“一般来讲,限制GC暂停时间要比最大限度提升吞吐能力更为重要,”这份建议指出。“而选择G1这类低暂停垃圾回收方案应该能够为大多数用户带来更出色的整体使用体验——至少相较于主要面向吞吐能力的当前默认选项Parallel GC是如此。……此次变更主要基于一项假设,即限制延迟水平通常要优先于提升吞吐能力。如果这一假设并不准确,那么此次调整可能无法带来理想的效果、甚至需要重新加以审视。”

甲骨文方面的计划是将G1部署在将于明年推出的Java 9当中。在JDK(即Java开发工具)8及其后续更新版本当中,G1已经迎来了多项性能改进。而根据JEP文档的说法,其应该还会在JDK 9内得到进一步提升。

甲骨文公司的一份说明文档指出,G1的定位是专门面向拥有大容量内存及多处理器设备的服务器型垃圾收集方案。不过将其作为默认收集机制可能会暴露出G1当中某些原本不为人知的潜在问题,JEP 248指出。“如果其中出现了某些在JDK 9生命周期之内无法解决的问题,那么我们将重新将Parallel GC作为JDK 9通用版本的默认垃圾回收方案。”G1还提供多种不同资源使用方式。“当资源使用率需要被控制在最低水平时,用户应该优先选择其它垃圾回收机制来取代G1,而在变更之后、后备回收机制必须得到明确指定。”

Parallel GC这套并行垃圾回收方案多年来一直在Java当中充当默认选项,而需要尽可能压缩垃圾回收暂停时间的应用程序则主要采用Concurrent Mark Sweep——后者同样属于备选方案,Java虚拟机技术供应商Azul Systems公司Scott Sellers指出。G1是一套全新实现方案,其代码更加简洁而且在维护方面上对开发人员更加友好,因此“一部分用户可能更倾向于使用G1作为演进后的处理手段,”Sellers解释称。

不过G1也有着自己的弊端,包括较并行垃圾收集机制而言数据吞吐速度较慢且性能较差,他表示。“G1的另一大短板在于,如果某款应用程序需要拥有非常严格的响应时间特性,那么经过精确调整的CMS垃圾回收机制在几乎各种情况下都能提供优于G1的响应时间指标。”

本文分享自微信公众号 - 我是攻城师(woshigcs)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2015-06-24

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏我爱编程

经济学人文章爬虫

假如是经常阅读该网站文章自然是订阅支持一下更好,但假如只是偶尔想看几篇文章订阅的性价比就不高了。

26510
来自专栏织云平台团队的专栏

Pick一下,工具上线前运维必备原则

一场突袭而来的大雨猛烈冲刷着 DBA 小 D 身侧宽大的玻璃窗。窗外原蓝天白云映照下的深南大道转眼陷入一片阴暗。

24120
来自专栏IT派

2018,程序员要搭配这40条编程箴言!!!

IT派 - {技术青年圈} 持续关注互联网、大数据、人工智能领域 1、重构是程序员的主力技能。 2、工作日志能提升脑容量。 3、先用profiler调查,才有...

36650
来自专栏FreeBuf

自己动手打造家庭安保系统

学习技能的一个好途径就是自己动手做一个家庭安保系统,特别是使用Arduino这种单片机来实现。通过一些硬件和免费的软件,我们就能够自己打造一个家庭安保系统。同时...

43280
来自专栏专知

【观点】漫谈推荐系统及数据库技术(二)——分布式数据库技术

【导读】推荐系统和数据库技术,一个是偏机器学习数据挖掘相关的应用,一个是偏系统存储相关的技术,这两者在实际中有很大的应用。上一次专知推出漫谈推荐系统及数据库技术...

40290
来自专栏python3

python简介

1.系统编程:提供API(Application Programming Interface,应用程序编程接口),能方便地进行系统维护和管理,Linux下标志性...

16220
来自专栏区块链

纺织人快看:如果微信这个开关没关,你的手机会越来越卡!

微信可以说是当今最流行的社交软件 随时随地都能看到一群年轻人 没事就刷朋友圈、看小视频 每每看到自已喜欢的图片 都会保存在手机 这样每天微信都会存储大量的照片和...

24990
来自专栏北京马哥教育

亲自动手写一个Python库(一)

引子 学习编程以来,接触过Basic,C/C++,Swift,JavaScript和Python五种语言,其中最爱的当属Python,简洁的语法和丰富的库让我...

493100
来自专栏CSDN技术头条

史上最明了的“编程语言琅琊榜”

小时候对掌握中、英、日、阿拉伯等多门语言的人羡慕不已,当时就许下一个心愿「我一定要成为掌握多门语言的男人」。今天,我的梦想终于实现了,我成为了一个程序员,也成为...

37460
来自专栏工科狗和生物喵

【闲来无事,py写game】Mac-Python3.5安装pygame 1.9.2 小计

正文之前 没错,我就是这么不学无术,C++实在学的鸡儿疼,所以干脆搞点娱乐措施,昨天赶上了京东图书做大活动,所以屯了一批书,好久没碰python了。所以就整本玩...

65660

扫码关注云+社区

领取腾讯云代金券