オブジェクトにFinalize()
メソッドがあるとします。
最初に作成されたときに、ファイナライズキューにポインタが追加されました。
オブジェクトには参照がありません。
ガベージコレクションが発生すると、参照がファイナライズキューからf-reachableキューに移動し、スレッドが開始されてFinalize
メソッドが実行されます(他のオブジェクトのメソッドの後に順次Finalize
)。
したがって、オブジェクトは(復活後)、f-reachableキューからのポインタであるルートを1つだけ持っています。
この時点で、オブジェクトは次世代に昇格しましたか?