G1GC和SGen GC之间的主要区别是什么?

时间:2013-12-11 12:56:24

标签: java mono garbage-collection g1gc

Java7的G1垃圾收集器和单声道的SGen垃圾收集器之间有哪些主要区别?我知道它们都属于代际GC,但它们在性能和架构方面有何不同?

1 个答案:

答案 0 :(得分:2)

首先,让我们回顾一下GC收集者:

Working with SGen定义SGen是一个生成收集器,为其主堆实现两个GC算法:(i)复制收集器和(ii)标记和扫描。

因此,尽管SGEn和G1都是世代相传,但基本区别在于G1代被分成相同大小的许多区块,而SGen采用更传统的方法 - 一代代表一个连续空间。

此外,SGen的复制收集器本质上是压缩的。另一方面,Mark-And-Sweep算法类似于Java的CMS收集器。因此,您可以问自己,CMS和G1之间有什么区别。关于他们的不同之处有很多信息。