0
点赞
收藏
分享

微信扫一扫

【jvm059】说说你对G1收集器的了解?

崭新的韭菜 2022-04-03 阅读 47
jvm

说说你对G1收集器的了解?

Garbage First (简称G1) 收集器是垃圾收集器技术发展历史上的里程碑式的成果, 它开创了收集器面向局部收 集的设计思路和基于Region的内存布局形式。

G1是一款主要面向服务端应用的垃圾收集器 。 HotSpot开发团队最初赋予它的期望是 (在比较长期的) 未来可 以替换掉JDK 5中发布的CMS收集器 。现在这个期望目标已经实现过半了, JDK 9发布之日, G1宣告取代Parallel Scavenge加Parallel Old组合, 成为服务端模式下的默认垃圾收集器, 而CMS则沦落至被声明为不推荐使用 ( Deprecate) 的收集器 。 如果对JDK 9及以上版本的HotSpot虚拟机使用参数-XX: +UseConcMarkSweepGC来 开启CMS收集器的话, 用户会收到一个警告信息, 提示CMS未来将会被废弃。

在G1收集器出现之前的所有其他收集器, 包括CMS在内, 垃圾收集的目标范围要么是整个新生代 (Minor GC) , 要么就是整个老年代 (Major GC) , 再要么就是整个Java堆 (FullGC) 。 而G1跳出了这个樊笼, 它可以面向堆 内存任何部分来组成回收集 (Collection Set, 一般简称CSet) 进行回收, 衡量标准不再是它属于哪个分代, 而 是哪块内存中存放的垃圾数量最多, 回收收益最大, 这就是G1收集器的Mixed GC模式。

举报

相关推荐

0 条评论