46

誰かが G1 ガベージ コレクターの仕組みを説明できますか? 包括的でわかりやすい説明はまだどこにもありません。

ありがとう

4

3 に答える 3

45

コレクターは、ヒープを固定サイズの領域に分割し、それらの領域でライブ データを追跡します。領域内外へのポインターのセット ("記憶されたセット") を保持します。GC が必要であると判断された場合、ライブ データの少ないリージョンが最初に収集されます (したがって、「ガベージ ファースト」)。多くの場合、これは 1 つのステップで領域全体を収集することを意味します。領域へのポインターの数がゼロの場合、その領域のマークまたはスイープを行う必要はありません。

地域ごとに、収集にかかる時間を説明するさまざまな指標を追跡します。一時停止時間についてソフトなリアルタイム制約を与えると、その制約された時間内にできるだけ多くのガベージを収集しようとします。

G1 に関する JavaOne の話と、このトピックに関するいくつかの記事があります。

于 2010-05-21T12:46:36.473 に答える