G1 GC:什么是SATB缓冲区?

时间:2017-02-13 10:12:03

标签: java jvm g1gc

在Java 8 G1 GC中,什么是SATB缓冲区?

我在http://www.oracle.com/technetwork/articles/java/g1gc-1984535.html

中看到了这个词

通过Google搜索后,没有找到它的定义。

有任何帮助吗?感谢。

2 个答案:

答案 0 :(得分:7)

我认为它是

的缓冲区
  

G1 GC使用Snapshot-At-Beginning(SATB)算法,该算法在标记周期开始时对堆中的活动对象进行快照。

http://xiao-feng.blogspot.co.uk/2007/04/incremental-update-tracing-vs-snapshot.html

https://rkennke.wordpress.com/2013/06/19/shenandoah-gc-concurrent-parallel-marking/

答案 1 :(得分:1)

您所指的文件说:

  

G1 GC使用Snapshot-At-Beginning(SATB)算法,该算法在标记周期开始时对堆中的活动对象进行快照。

因此,逻辑结论是:该算法使用这些缓冲区来存储该快照。