Java ガベージ コレクション ガイドをオンラインでいくつか読んだことがありますが、まだ少し不明確であり、コードにメモリ リークがないように確認したいと考えていました。
Java GC は参照を失ったオブジェクトを収集しますが、その変数にはまだ参照がありますか?
それでは、私が SomeObject を持っているとしましょう:
public class SomeObject {
public ObjectVar var;
public SomeObject() {
var = new ObjectVar();
}
}
そして私のコード:
SomeObject obj1 = new SomeObject();
SomeObject obj2 = new SomeObject();
obj2.var = obj1.var;
obj1 = null;
したがって、obj1 の var には参照がありますが、obj1 には参照がありません。では、GC は obj1 を破壊しますが、var は存続させますか? (私はそう仮定しています;ただ確認したかっただけです)。ありがとう!