堆中的并发标记扫描生成是什么?

时间:2010-12-08 13:14:28

标签: java garbage-collection

在以下输出中,什么是并发标记扫描生成?

par new generation   total 24512K, used 12082K [0x00007fb3b9420000, 0x00007fb3bac20000, 0x00007fb3bac20000)
 eden space 24448K,  49% used [0x00007fb3b9420000, 0x00007fb3b9fec808, 0x00007fb3bac00000)
 from space 64K,   0% used [0x00007fb3bac10000, 0x00007fb3bac10000, 0x00007fb3bac20000)
 to   space 64K,   0% used [0x00007fb3bac00000, 0x00007fb3bac00000, 0x00007fb3bac10000)
concurrent mark-sweep generation total 8364032K, used 233100K [0x00007fb3bac20000, 0x00007fb5b9420000, 0x00007fb5b9420000)
concurrent-mark-sweep perm gen total 98304K, used 72031K [0x00007fb5b9420000, 0x00007fb5bf420000, 0x00007fb5bf420000)

我理解eden,from,to和perm gen,但什么是“并发标记扫描生成”?

2 个答案:

答案 0 :(得分:9)

“并发标记扫描生成”是旧一代。

答案 1 :(得分:3)

我认为不存在“concurent mark-sweep generation”。并发Mark-Sweep指的是垃圾收集算法,在这种情况下,用于收集“旧”堆。

堆通常是3代。 Eden,From和To属于新一代,老一代包含了长寿的物品,这些物品在“新”中幸存了许多,并且已经终身(转移到“老”一代。)第三代是永久的一代,看起来你已经了解了。