JVMのガベージコレクションアルゴリズム

免責事項:この記事はブロガーオリジナル記事ですが、許可ブロガーなく再生してはなりません。https://blog.csdn.net/GoSaint/article/details/90116398

マーク - スイープアルゴリズム

明確なラベリングアルゴリズムは相とクリーンアップ位相マーキング、2つの段階に分割され、二つの相は、比較的非効率的ではなく、大きなオブジェクトの割り当てメモリ空間のために、収集後にメモリの断片を生成します。
図は次のとおりです。ここに画像を挿入説明

レプリケーションのアルゴリズム

レプリケーションアルゴリズムは、メモリの断片化の問題を解決するが、アテンダントが2にメモリです。原理は次のとおりです。2、それらの半分必要性が、オブジェクトをクリーンアップするために死を言って、回収した後、このようにメモリの断片化を避け、ライブオブジェクトの反対側に移動するたびに、メモリに。
ここに画像を挿入説明
もちろん、ビューの今日のビジネスの仮想マシンの点で、それを2つにメモリを必要としないので、価格が大きすぎるの友人です。オブジェクトの98%が夜の死、ホットスポットの新世代への記憶と、古い時代に向かって生まれています。新生代はSuvivorから、サバイバーに、エデンに分割され、生存エデンのデフォルトサイズは8:1メモリの全体の新世代の90%をリサイクルの新しい世代です。
ここに画像を挿入説明

マーク - 照合アルゴリズム

アルゴリズムを整理するタグは、移動物体の終わりまで生存した後、境界を越えてメモリをクリアしています。主に古いのコレクションのために。
ここに画像を挿入説明

世代別コレクションアルゴリズム

オブジェクトの少量を使用して新しい生成アルゴリズムは、それらの生存者にコピーすることができますコピーします。収集するために使用歳のマーク仕上げ方法。

おすすめ

転載: blog.csdn.net/GoSaint/article/details/90116398