2010-12-28 13 views
0

「Array_Name [] = NULL」を使用すると、Javaのガベージコレクタが残りの配列を収集しますか?Java Array Destroy

+2

マイナーポイント: 'Array_Name [] = NULL'は、' Array_Name = null'を意味します、そうですか? – Mehrdad

+2

本当に 'arrayName = null' ...でなければなりません。styleも重要です。 –

答えて

11

Array_Nameが最初に配列を参照していた場合のみです。そして、配列への他の参照がない場合に限ります。そして、配列の外側にあるもので参照されていない配列の要素だけを再利用します。 。

Foo[] Array_Name = new Foo[n]; 
//... 
Array_Name = null; // Note the lowercase "null" 

:それは

(構文Array_Name[] = NULLは本当に意味がありません。しかし、私はあなたのような何かをしたいと仮定しています:-)それに周りを取得のように感じているとき、それは唯一そうになります

+3

+1 * ...それは周りを回っているように感じるときだけそうするでしょう。*(つまり、GCはJavaコードの点からはほとんど決定的ではありません。 –

1

上記のダンすべてに同意しますが、実際にはSystem.gc()を呼び出すことで実際にガベージコレクションを起動できます。言うまでもなく、これは他のものによってもはや参照されていないオブジェクトを収集するだけです。

+1

System.gc()を呼び出すことはお勧めできません。 –

+0

私は同意する、私はオプションを提示しています。 – Tyler