2

Java7 的 G1 垃圾收集器和 Mono 的 SGen 垃圾收集器的主要区别是什么?我知道它们都是分代 GC,但它们在性能方面和架构方面有何不同?

4

1 回答 1

2

首先,让我们回顾一下这两个 GC 收集器:

使用SGen定义 SGen 是一个生成收集器,它为其主要堆实现了两种 GC 算法:(i)复制收集器和(ii)标记和清除。

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

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

于 2013-12-12T00:55:47.947 回答