Java7的G1垃圾收集器和单声道的SGen垃圾收集器之间有哪些主要区别?我知道它们都属于代际GC,但它们在性能和架构方面有何不同?
答案 0 :(得分:2)
首先,让我们回顾一下GC收集者:
Working with SGen定义SGen是一个生成收集器,为其主堆实现两个GC算法:(i)复制收集器和(ii)标记和扫描。
因此,尽管SGEn和G1都是世代相传,但基本区别在于G1代被分成相同大小的许多区块,而SGen采用更传统的方法 - 一代代表一个连续空间。
此外,SGen的复制收集器本质上是压缩的。另一方面,Mark-And-Sweep算法类似于Java的CMS收集器。因此,您可以问自己,CMS和G1之间有什么区别。关于他们的不同之处有很多信息。