Java7 的 G1 垃圾收集器和 Mono 的 SGen 垃圾收集器的主要区别是什么?我知道它们都是分代 GC,但它们在性能方面和架构方面有何不同?
1 回答
2
首先,让我们回顾一下这两个 GC 收集器:
- Mono 的 GC 可以在以下位置找到:
- G1GC在 Garbage-First Garbage Collector 如何工作?.
使用SGen定义 SGen 是一个生成收集器,它为其主要堆实现了两种 GC 算法:(i)复制收集器和(ii)标记和清除。
因此,虽然 SGEn 和 G1 都是分代的,但根本区别在于 G1 代被分成许多相同大小的块,而 SGen 采用更传统的方法 - 一代被表示为一个连续的空间。
此外,SGen 的复制收集器本质上是压缩的。另一方面,Mark-And-Sweep 算法类似于 Java 的 CMS 收集器。因此,您可以问自己,CMS 和 G1 之间有什么区别。有很多关于它们差异的信息。
于 2013-12-12T00:55:47.947 回答