ここにいくつかのコードがあります:
public class A {
private volatile B b;
public void methodC() {
b.doSomething();
}
public void setB(B newB) {
this.b = newB;
}
}
「スレッド1」は、methodC()を実行してb.doSomething()を実行しています。
同時に、「スレッド2」は新しいBオブジェクトを「b」に設定します。
私の質問は:
以前に「b」によって参照されたオブジェクトは、そのオブジェクトのdoSomething()メソッドがまだ実行されているにもかかわらず、ガベージコレクションされる可能性がありますか?