Java7的G1垃圾收集器和mono的SGen垃圾收集器之间的主要区别是什么?我知道它们都是分代GC,但是它们在性能和架构方面有何不同?
最佳答案
首先,让我们回顾一下这两个 GC 收集器:
- Mono 的 GC 可以在以下位置找到:
- G1GC 被描述为例如在 How does the Garbage-First Garbage Collector work? 。
Working with SGen定义 SGen 是一个生成收集器,为其主堆实现两种 GC 算法:(i) 复制收集器和 (ii) 标记和清除。
因此,虽然SGEn和G1都是分代的,但根本的区别在于G1代被分成许多相同大小的 block ,而SGen采用了更传统的方法——一代被表示为一个连续的空间。
此外,SGen 的复制收集器本质上是压缩的。另一方面,Mark-And-Sweep 算法类似于 Java 的 CMS 收集器。因此您可以问自己,CMS 和 G1 之间有什么区别。有很多关于它们之间差异的信息。
关于java - G1GC和SGen GC的主要区别是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20519738/