垃圾回收就是对内存堆中已经死亡或者长时间没有使用的对象进行清楚或回收。
JVM 在做 GC 之前,会先搞清楚什么是垃圾,什么不是垃圾,通常会通过可达性分析算法来判断对象是否存活。

在确定了那些垃圾可以被回收后,垃圾回收器(如CMS、G1、ZGC)要做的事情就是垃圾回收、可以采用标记清除算法、复制算法、标记整理算法、分代收集算法等、
垃圾回收的过程是什么?
Java的垃圾回收过程:标记存活对象、清楚无用对象、以及内存压缩/整理三个阶段。不用的垃圾回收器在采用这些步骤会采用不同的策略和算法。