开发者社区 问答 正文

前沿实践中Shenandoah 垃圾回收器的并发转移的详细过程是什么?

前沿实践中Shenandoah 垃圾回收器的并发转移的详细过程是什么?

展开
收起
游客x3a254b44ahsk 2022-05-09 19:36:56 656 分享
分享
版权
来自: 阿里技术 举报
1 条回答
写回答
取消 提交回答
  • 首先判断待转移对象是否在待回收集合中(这个集合根据标记阶段的结果生成),同时转移指针是否指向了自己,如果没有在待收回集合,则不用转移,如果对象的转移指针已经指向了其他地址,说明已经转移过了,也不用转移;然后进行对象复制;对象复制结束后,会通过 CAS 的方式更新转移指针的值,使其指向新的复制对象所在的堆空间地址,如果 CAS 失败,会多次重试。

    2022-05-17 07:54:22 举报
    赞同 评论

    评论

    全部评论 (0)

    登录后可评论
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等