G1(ガベージファースト)コレクター

G1ガベージコレクタの基礎知識と原理分析 - 見てみましょう

主な特徴

1. 地域に応じてブロックに分割し、各ブロックに S、E、O、H のマークを付けます

2. コストパフォーマンスに応じてリサイクルし、各ブロックの回収スペースと時間を個別にカウントし、コストパフォーマンスに応じて分別します。

3.ユーザーの一時停止時間を指定して、ガベージ サイズを動的にリサイクルできます。デフォルト 200ms

欠点がある

世代を越えた参照がある場合はどうすれば解決できますか?
若い世代の地域に関しては、その都度リサイクルしていきますので、若い世代が古い世代を指すという意識は必要ありません。
古い世代から若い世代への参照をどのように選択するか (そうでない場合は、ヒープ全体の GC ルート スキャンを使用します)、ここで提案されているアイデアはメモリ セット rset (セットを記憶する) であり、G1 は領域ごとに rset を維持します。 、
メモリ独自の領域へのポインタは一元的に維持され、マーク ポインタはそれらのカード ページの範囲内にあります。G1 は多くの領域を使用する (各領域には rset がある) ため、G1 は比較的多くのメモリを使用し、基本的にコレクタの作業を維持するためにJava の追加メモリの 10% ~ 20% を占有します。

おすすめ

転載: blog.csdn.net/qq_29857681/article/details/125571888