请问,hotspot使用直接指针指向对象地址,那JVM垃圾回收时,对象地址发生变化,是如何维护引用与对象地址之间的关系呢?

新手上路,请多包涵

比如一个引用re,指向了对象A的地址addA,JVM进行垃圾回收时,A对象的地址变成了addB。
此时引用re是如何与对象A新的地址addB重新建立连接的呢?

阅读 2.6k
1 个回答

如果是CMS或G1,采用三色标记算法,基于写屏障解决引用对象问题。

如果是zgc,采用颜色指针,和读屏障,解决转移阶段对象引用问题。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题