2
を削除:JavaのGCメモリ私は現在、Javaのソケットサーバを書いていると私は次のような状況で何が起こるか疑問に思った
mainClassはロビークラスを作成し、mainClassの配列に追加します。
ロビークラスは、ルームクラスを作成し、ロビークラスの配列に追加します。
ルームクラスは、クラスのクラスを参照してください。
mainClassが配列
部屋やロビーに部屋ホールド参照にロビーホールドリファレンスからロビーインスタンスを削除し、彼らはこれまで、GCによってクリーンアップされるのですか?
* GCは*ルート参照可能オブジェクト保持者と呼ばれる*オブジェクトがGCルートからの強い参照を持たない場合は、ciruclar参照に関係なくクリーンアップすることができます。 –
現代のガベージコレクションは、単純な参照カウントよりはるかに複雑です。基本的に、ヒープは到達可能な「生きた」オブジェクトを検索されます。それ以外のものはごみです。ヒント:そのようなことは何百回も記録されています;-) – GhostCat