垃圾回收算法:
标记清除算法 mark-sweep
复制算法 copying 主要用于年轻代的垃圾回收,分为Eden区和两个survivor区
标记整理算法 mark-compact compact紧凑使压实的意思,即标记后不是清除而是将仍存活的对象移向内存的一端,清理掉端界外的垃圾对象,主要用于老年代的垃圾回收
分代收集算法:是现在大多JVM采用的方法,即根据对象生存周期的不同把堆分为年轻代和年老代,采用不同的垃圾回收算法
分区收集算法:G1引入的回收算法,将整个堆空间划分为连续的小区间,每个小区间独立使用,独立回收,在后台维护一个优先级列表。这样的好处是每次可以根据允许的垃圾收集时间,优先收集垃圾最多的区域,并可以控制一次回收多少个小区间,而不是回收整个堆,精确控制GC停顿时间。
颜色指针算法:ZGC采用的算法,利用指针来记录对象的状态,这样对象的销毁只需要改变指针内容即可,大大缩短了扫描时间,无论内存大小GC停顿都可以稳定在10毫秒左右。