- ベストアンサー
Javaのガーベジコレクションについて
class Sample{ Sample sm; } class SampleMain{ public static void main(String[] args){ Sample sm1 = new Sample(); Sample sm2 = new Sample(); sm1.sm = sm2; sm2.sm = sm1; sm1 = null; sm2 = null; } } このプログラムでガーベジコレクションの対象(実行される可能性がある)は何行目になりますか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
> ガーベジコレクションの対象(実行される可能性がある)は何行目になりますか? 前の質問もそうでしたが、質問の意味・意図が分かりにくいです。 どのオブジェクトがGCで回収されるのかを聞いているのならば何行目とは聞かないだろうし、 GCが発生するタイミングを聞いているのならば対象という単語が何を意図しているのかが分からない。 GCで回収される可能性があるオブジェクトは2回のnew Sample();で生成されている2つ、そのタイミングはsm2=null;の実行された以降。 ただしこのプログラムではsm2=null;の後にすぐに実行が終了してしまうでしょうから、おそらくGCは発生しません(実行終了前に律儀にGCを行うJava処理系があってもいいですが、あまり意味はありません)。
その他の回答 (1)
- jjon-com
- ベストアンサー率61% (1599/2592)
回答No.1
sm2 = null; の行。 その理由は,あなた自身による質問 http://okwave.jp/qa/q7300548.html に対するsalsberryさんからの回答ANo.1。
質問者
お礼
回答ありがとうございました。
お礼
詳しく説明して頂きありがとうございました!