开发者社区 问答 正文

前沿实践中Shenandoah 垃圾回收器算法实现具体过程是什么?

前沿实践中Shenandoah 垃圾回收器算法实现具体过程是什么?

展开
收起
游客x3a254b44ahsk 2022-05-09 19:36:56 337 分享 版权
来自: 阿里技术
1 条回答
写回答
取消 提交回答
  • 步骤1:将对象从 From 复制到 to 空间,同时将新对象的转移指针指向新对象自己。 步骤2:将旧对象的转移指针通过 CAS 的方式指向新对象。 步骤3:将堆中其他指向旧对象的引用,更新为新对象的地址,如果在这个过程中有应用线程访问到了旧对象,则会通过读屏障的方式将新对象的地址返回给新的应用。 步骤4:所有的引用被更新,旧对象所在的分区可以被回收。

    2022-05-09 22:39:10
    赞同 展开评论