GC-标记-整理算法的疑问?

土豆是我的最爱 2020-06-16 05:38:20
定义:“标记-整理”(Mark-Compact)算法,标记过程仍然与“标记-清除”算法一样,但后续步骤不是直接对可回收对象进行清理,而是让所有存活的对象都向一端移动,然后直接清理掉端边界以外的内存。
示意图:



上面两个图都是百度出来相关文章里的图,
让所有存活的对象都向一端移动,然后清理掉边界以外的内存,我想问一下这句话怎么理解。
存活对象向一端移动时总不能穿过要回收的对象吧?为什么移动后清理会这么整齐呢?
...全文
191 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
好吧,钻了牛角尖了,如果定义按楼上理解是可以的。 存活对象向一端移动,可回收对象向另一端移动。 这里的一端不是四个边界,而是四个边角。
qybao 2020-06-16
  • 打赏
  • 举报
回复
这不是挺好理解的吗?你就把它想象成排序就好了,存活对象往前排,可回收对象和未使用往后排,然后最后一个存活对象以后的内存一起清理掉

50,545

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧