誰かが G1 ガベージ コレクターの仕組みを説明できますか? 包括的でわかりやすい説明はまだどこにもありません。
ありがとう
コレクターは、ヒープを固定サイズの領域に分割し、それらの領域でライブ データを追跡します。領域内外へのポインターのセット ("記憶されたセット") を保持します。GC が必要であると判断された場合、ライブ データの少ないリージョンが最初に収集されます (したがって、「ガベージ ファースト」)。多くの場合、これは 1 つのステップで領域全体を収集することを意味します。領域へのポインターの数がゼロの場合、その領域のマークまたはスイープを行う必要はありません。
地域ごとに、収集にかかる時間を説明するさまざまな指標を追跡します。一時停止時間についてソフトなリアルタイム制約を与えると、その制約された時間内にできるだけ多くのガベージを収集しようとします。
G1 に関する JavaOne の話と、このトピックに関するいくつかの記事があります。