Java-JVM-垃圾回收器
2021-02-05 本文已影响0人
森屿暖茶
CMS采用的是标记清除算法。
缺点:cpu敏感、浮动垃圾、内存碎片
①短暂暂停线程(Stop The World<STW> )初始标记
②线程运行过程中,并发标记。
③短暂暂停线程确认标记(主要确认哪些标记符合回收情况、准备进行回收)。
④线程运行过程中并发清理
⑤清除过后重置线程。
G1采用的是复制和标记整理算法
缺点:慢且空间占用多。
①初始化标记(暂停线程)
②并发标记需要清除的
③根据设置JVM最小暂停停留时间进行最终标记(标记哪些符合回收的条件,什么意思呢,就是不同回收的标记对象回收的时间不同,可能你标记的可回收的大对象和你设置的JVM最小暂停停留时间所需时长有出入且有其他回收方式能够满足此次GC,导致这个对象本次放弃回收)。(暂停线程)
④筛选回收。(暂停线程)