开发者社区> 问答> 正文

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

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

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

    2022-05-17 07:54:22
    赞同 展开评论 打赏
来源圈子
更多
收录在圈子:
+ 订阅
问答排行榜
最热
最新

相关电子书

更多
如何实现应用的持续发布 立即下载
解密阿里内部人工智能算法迭代工具 立即下载
云栖专家带你技术进阶之理解Java内存管理机制 立即下载