使用单线程进行垃圾回收,在回收时应用程序(mutator)都需要执行暂停(Stop The World,STW)。新生代通常采用复制算法,老生代通常采用标记压缩算法。串行回收典型的执行过程如图1-1所示。
图1-1 串行回收
注:本书的图例中没有mutator运行的区间都是指STW。实际上串行回收中的老生代回收不仅仅回收老生代,还回收新生代。图中一个箭头表示一个线程,此图中执行垃圾回收过程只有一个箭头,表示只有一个后台线程执行回收任务。深色箭头表示的是垃圾回收工作线程,空心箭头表示应用程序线程。