鍍金池/ 問答/Java  網(wǎng)絡(luò)安全/ 火車算法如何解決循環(huán)調(diào)用問題

火車算法如何解決循環(huán)調(diào)用問題

這里就不講火車算法的原理了。
火車算法是g1收集器使用的gc算法

clipboard.png

D,E,C是需要相互調(diào)用的三個(gè)對(duì)象。除此之外沒有其他引用。但是當(dāng)算法執(zhí)行掃描第一塊內(nèi)存時(shí)時(shí),D有E的引用,E有c的引用,c有D的引用。D和E都會(huì)保留下來。當(dāng)?shù)诙螔呙钑r(shí),C也有D的引用而被保留下來.這樣豈不是根本沒回收到垃圾

回答
編輯回答
任她鬧

什么火車算法名詞不太懂,在我看來這就是一個(gè)循環(huán)引用問題。在某些垃圾收集算法里面,循環(huán)引用的確會(huì)導(dǎo)致內(nèi)存泄漏。

2018年7月23日 03:55
編輯回答
司令

可以參考下 漸進(jìn)式地垃圾回收: 火車算法 中的內(nèi)容

2018年1月10日 17:31