java - G1GC和SGen GC的主要区别是什么

标签 java mono garbage-collection g1gc

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

最佳答案

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

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/

相关文章:

java - 流程执行Java JSsh

java - 从菜单中打开新 Activity

c# - 什么时候不调用 dispose 方法?

java - fragment 销毁后的 fragment 对象; GC什么时候收集它们?

javascript - JS函数属性和内存

java - 解码为抽象元素列表

java - 应如何将长时间运行的操作中的数据传递到要在 UI 中显示的 fragment ?

asp.net - 如何防止用户代理: Eureka/1 to return source code

android - "ConvertResourcesCases"任务意外失败。 Xamarin Android 构建

linux - 无法在 Armbian Stretch 上预编译 Microsoft.CodeAnalysis.CSharp