3

オブジェクトをメモリの場所に直接格納するのではなく、オブジェクトへの参照を格納するクラス変数の利点は何でしょうか?

メモリの問題と関係がありますか、それともセキュリティの問題ですか。

私は周りを見回してみましたが、この質問を見つけることができませんでした。

ありがとう。

4

3 に答える 3

4

Java はオブジェクトをヒープ メモリに格納しますが、コードから何らかのハンドルを使用してそのオブジェクトにアクセスする必要があるため、参照も同様です。

また、アクティブな参照オブジェクトがない場合のGCingは不要になり、GCの準備が整います

于 2012-07-08T06:31:28.927 に答える
2

オブジェクトを関数にコピーまたは渡すときに、参照をコピーするだけでオブジェクトを作成/コピーする必要がないため、メモリについて詳しく説明します。

例:

Class1 a = new Class1();
Class1 b = a;

参照を保存しない場合、その場合、別のオブジェクトを b に作成する必要があり、重複が発生します。

第二に、

public void(Class1 obj){
  //Some operation to Object
}

参照ではなくオブジェクト全体を渡すと、コピーされたオブジェクトを保持するためのメモリが再び必要になります。

于 2012-07-08T06:41:19.103 に答える
1

参照がなければ、ほとんどのデータ構造を実装することは不可能です。二重にリンクされたリスト、またはノードが親リンクを含むツリーを検討してください。

于 2012-07-08T07:00:45.273 に答える