Gen 0: Gen 0がサイズのしきい値を超えると、gen 0トリガーが読み込まれます。しかし、私は、「新しい」は単にアドレスを前方にスライドさせるだけなので、GCは「新しい」で実行されないことも読んでいます。次に、gen 0 GCをトリガするしきい値を超えたことをいつチェックしますか?gen 0、gen 1、gen 2はいつトリガされますか?
Gen 1/2: DoG 1/2にGCをトリガーする独自のサイズのしきい値がありますか?彼らはいつ閾値を検討するのですか?生存者が世代に昇進した瞬間ですか?
gen 1 GCが最初にgen 0をチェックしてからgen 1に昇格し、gen 1がしきい値を超えてgen 1をチェックし、gen 0を再度チェックすることを意味しますか?
これはgen 2 GCが最初にgen 0をチェックしてgen 1に昇格し、gen 1がしきい値を超えてgen 1をチェックし、gen 0を再度チェックすることを意味します。次にgen 0がgen 1とgen 1 to gen 2に昇格し、gen 2がしきい値を超えていることを確認し、gen 2、gen 1、gen 0を再度確認します。
これらの詳細はすべて、独自の内部実装の詳細であり、実装ごとに異なり、いつでも変更される可能性があります。また、GCは独自のスレッドで実行されるため、スレッドのスケジューリングも重要です。あなたが気にする理由を言うことができれば、それはあなたに良い答えを得るのに役立ちます。たとえば、悪い時に高価な収集が発生する危険性があるときを知りたいので気にするなら、GCの内部の詳細を知らない*ことがわかる方法があります。 –
私はGCを完全に知らない人に説明しなければならないので気になります。私は単にその効果を知っているが、私は原因を知らないことがわかりました。実装の詳細ではなく、説明する必要のないものもわかりません。 –
GCが起動したときに気になる人は、間違っています。 – leppie