Welcome to WuJiGu Developer Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
491 views
in Technique[技术] by (71.8m points)

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

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


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

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

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


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to WuJiGu Developer Q&A Community for programmer and developer-Open, Learning and Share
...