一 并行和串垃圾回收器
并行和串行,在谈论垃圾收集器的上下文语境中,它们可以解释如下:
1 并行(Parallel)
指多条垃圾收集线程并行工作,但此时用户线程仍处于等待状态。如:ParNew、Parallel Scavenge、Parallel old
2 串行(Serial)
-
相较于并行的概念,单线程执行。
-
如果内存不够,则程序暂停,启动 JVM 垃圾回收器进行垃圾回收。回收完,再启动程序的线程。
二 并发和并行垃圾回收器
并发和并行,在谈论垃圾收集器的上下文语境中,它们可以解释如下:
1 并发(Concurrent)
指用户线程与垃圾收集线程同时执行(但不一定是并行的,可能会交替执行),垃圾回收线程在执行时不会停顿用户程序的运行。
用户程序在继续运行,而垃圾收集程序线程运行于另一个CPU上。
如:CMS、G1