次の 2 つの循環参照の例を考えてみましょう。
簡単な循環参照
class A {
B b;
}
class B {
A a;
}
class A {
B b;
}
class B {
WeakReference<A> aRef;
}
@Jon Skeetが回答した次のSO の質問は、既知のルートからサイクルへの「GC ウォーク」が存在しない限り、単純な例でもガベージ コレクションが行われることを明確にしています。
私の質問は次のとおりです。
例 2 に示されているイディオム (WeakReference を使用するイディオム) を使用する、または使用しない理由はありますか?