JVM虚拟机:垃圾回收算法和垃圾回收器之间的关系

GC垃圾回收算法

在前面的课程中我们学习了GC垃圾回收算法,分别为:

引用回收算法

复制算法

标记清除算法

标记整理算法

这些垃圾回收算法是理论,有多种垃圾回收器可以实现这些理论。目前为止没有最完美的垃圾回收器,只能针对具体的情况选择最合适的垃圾回收器,进行分代收集(也就是说年轻代和老年代使用不同的垃圾回收器)。

三种类型的垃圾回收器

串行回收(一个线程垃圾回收)

并行垃圾回收器(多个线程垃圾回收)

并发垃圾回收器(程序线程和垃圾回收线程并发执行)

串行回收

JVM虚拟机:垃圾回收算法和垃圾回收器之间的关系_第1张图片

这样的回收器只使用一个线程进行垃圾回收,会暂停所有的用户线程,所以不适合服务器的环境。

并行垃圾回收器

JVM虚拟机:垃圾回收算法和垃圾回收器之间的关系_第2张图片

多个垃圾收集线程并行工作,此时用户线程是暂停的,适合科学计算/大数据处理首台处理等弱交互场景。GC的时候,程序也是需要停止的,由于是多个线程,所以停顿(STW)的时间会少很多。

<

你可能感兴趣的:(深入了解JVM虚拟机,jvm,算法,虚拟机,垃圾回收,GC)