栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

G1回收器特点

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

G1回收器特点

G1回收器特点

一、优点二、缺点
G1使用的是分区算法(分代收集算法是将堆按照对象的生命周期划分为不同的区间;分区算法是将整个堆划分成若干个小区间。每一个小区间都独立使用,独立回收。)详细可看博客: 增量收集算法与分区算法.

一、优点

仍然分为年轻代、老年代,但是他不再像之前的六种经典回收器那样内存连续,G1中的分代内存是不连续的:

由于G1中Region之间使用标记-复制和标记-压缩算法,所以可以避免内存碎片的情况。

可预测停顿时间模型的意思是:能够支持指定在一个长度为M毫秒的时间片段内,消耗在垃圾回收的时间大概率不超过N毫秒。也就是说程序员可以去限制其暂停时间。这种思想其实是基于region分区的设计,G1可以最大利益收集垃圾。 二、缺点

分区算法有他的优点,同时也带来了缺点——Region间的跨引用,解决这样的跨引用问题,会造成G1至少消耗大约相当于Java堆容量的10%-20%的额外内存。G1在大内存上有优秀的表现,但是在小内存上表现不如CMS。G1收集过程大致分为初始标记、并发标记、最终标记、筛选回收,相比于CMS收集器,G1只在并发标记时可与用户线程并发执行,所以在低延迟方面不如CMS。(ZGC补偿了这一点)

参考资料:
1、 尚硅谷JVM全套视频.
2、《深入理解Java虚拟机》周志明

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/716800.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号