垃圾清理
2020-05-09 14:49:44 8 举报
AI智能生成
serial+so ps+cms
作者其他创作
大纲/内容
serial+serialOld
新生代
复制算法stw(单线程)
分两块区域,始终有一块为空,
清理使用的那一块,然后存活对象转移至另一块
清理使用的那一块,然后存活对象转移至另一块
老年代
标记整理stw
将存活对象标记,移动至一端,
然后将边界外全清除
然后将边界外全清除
parnew+cmd
新生代
复制算法stw(并行)
多条线程执行收集
老年代
cms(并发)
1.初始标记(stw),只标记GC roots,短暂
2.并发标记(与用于线程并行操作),将初始标记的对象使用可达算法进行标记,被修改了的对象,
老年代中:新生代晋升至老年代的,直接分配至老年代的,
会被标记为dirty(老年代被分为一个个的card,一个元素占据一个card)
老年代中:新生代晋升至老年代的,直接分配至老年代的,
会被标记为dirty(老年代被分为一个个的card,一个元素占据一个card)
3.预清理,扫描cardTable,标记dirtyCard对象,并标记直接引用及间接引用的对象,清除dirty状态
4.重新标记(stw):遍历新生代标记,根据GCROOTS标记所有可达对象,遍历cardTable处理dirty对象
5.并发清理
6.并发重置
0 条评论
下一页