javaプログラミング初心者であります。ガベージコレクションの仕組みがいまひとつわかりません。
javaプログラミング初心者であります。ガベージコレクションの仕組みがいまひとつわかりません。 Javaのガベージコレクションは、参照されていないオブジェクトを開放するとされていますが例えばClassAのインスタンスに対し a=null; a=new Object(); a=new ClassA(); という場合でもガベージコレクションは可能になるものでしょうか
ベストアンサー
a=null; a=new Object(); ① a=new ClassA(); ② 変数aがどこで宣言されているのか、このコードがどこに書かれているのかによって変わってきます。 とりあえずaがこのコードが書かれているメソッド内のローカル変数の場合、①および②でnewされたインスタンスはメソッドを抜ければ、ガベコレの対象になります。 > ガベージコレクションは可能になる なお、ガベコレは「行う」ものじゃなく、「行われる」ものです。プログラムコードから見て可能・不可能の問題ではありません。
質問者からのお礼コメント
ありがとうございます
お礼日時:1/23 17:06