G1 the Default Garbage Collector

2018-01-11  本文已影响11人  即墨灯火

G1: Garbage First

The change is based on the assumption that limiting latency is often more important than maximizing throughput.

G1 do better in Max GC pause but much worse than the others in Total GC pause

G1的特点:

使用G1收集器时,Java堆的内存布局与其他收集器有很大不同。它将整个Java堆划分为多个大小相等的独立区域(Region),虽然还保留有新生代和老年代的概念,但新生代和老年代不再是物理隔离的了,它们都是一部分Region(不需要连续)的集合。

G1之所以能建立可预测的停顿时间模型,是因为它可以有计划地避免在整个Java堆中进行全区域的垃圾收集。G1跟踪各个Region里面的垃圾堆积的价值(回收所获得的空间大小以及回收所需要时间的经验值),在后台维护一个优先列表,每次根据允许的收集时间,优先回收价值最大的Region。这种使用Region划分内存空间以及由优先级的区域回收方式,保证了G1收集齐在有限的时间内可以获取尽可能高的收集效率。

参考

上一篇下一篇

猜你喜欢

热点阅读