Google は変な例しか出していないので、次のコードはメモリ リークではないかと思います。基本的に、クラスがある場合Tree
:
public class Tree{
private Bird[] birds;
public Tree(){
birds = new Bird[100];
}
}
そして、私は次のようなへのクラス参照を保持していTree
ます:
Tree myTree = new Tree();
その後すぐに、その参照をnull
次のように設定しました。
myTree = null;
割り当てられた 100 の Bird はすべて、ガベージ コレクタによってツリー クラスで処理されますか? それとも方法が必要delete()
ですか?Java にはデストラクタがないことはわかっていますが、それでもこの多層クラスの例は私を混乱させます。
内側Tree.java
:
public void deleteBirds{
birds = null;
}