ガベージ コレクション アルゴリズムは、さまざまな観点から分類できます。 基本的なリサイクル戦略によれば 参照カウント: 古いリサイクルアルゴリズム。原則として、このオブジェクトには参照があり、それによってカウントが増加し、参照を削除するとカウントが減少します。ガベージ コレクション中は、カウントが 0 のオブジェクトのみが収集されます。このアルゴリズムの最も致命的な問題は、循環参照の問題を処理できないことです。 マークスイープ: このアルゴリズムは 2 段階で実行されます。最初のステージでは、参照ルート ノードから始まるすべての参照オブジェクトをマークし、2 番目のステージではヒープ全体を走査してマークされていないオブジェクトをクリアします。このアルゴリズムではアプリケーション全体を一時停止する必要があり、メモリの断片化が発生します。 コピー: このアルゴリズムは、メモリ空間を 2 つの等しい領域に分割し、一度に 1 つの領域のみを使用します。ガベージ コレクション中、現在使用されている領域が走査され、使用中のオブジェクトが別の領域にコピーされます。このアルゴリズムは、使用中のオブジェクトのみを毎回処理するため、コピーコストは比較的小さくなります。同時に、コピー後にメモリを適切にソートできるため、「断片化」の問題は発生しません。もちろん、このアルゴリズムの欠点も明らかです。つまり、メモリスペースが 2 倍必要になるということです。 マークコンパクト: このアルゴリズムは、「マーク アンド スイープ」アルゴリズムと「コピー」アルゴリズムの両方の利点を組み合わせたものです。これも 2 つのステージに分かれています。最初のステージでは、ルート ノードから始まる参照されているすべてのオブジェクトをマークします。2 番目のステージでは、ヒープ全体を走査し、マークされていないオブジェクトをクリアし、生き残ったオブジェクトをヒープの 1 つの部分に「圧縮」して、順序どおりに配置します。このアルゴリズムは、「マークアンドスイープ」アルゴリズムの断片化の問題を回避し、「コピー」アルゴリズムのスペースの問題も回避します。 治療方法によって分けられる 増分収集:アプリケーションの実行中にガベージ コレクションを実行するリアルタイム ガベージ コレクション アルゴリズム。何らかの理由で、JDK5.0 のコレクターはこのアルゴリズムを使用しません。 世代別収集:オブジェクトのライフ サイクルの分析に基づくガベージ コレクション アルゴリズム。オブジェクトは若い世代、古い世代、永久世代に分けられ、異なるライフサイクルでオブジェクトをリサイクルするために異なるアルゴリズム (上記の方法のいずれか) が使用されます。現在のガベージ コレクター (J2SE1.2 以降) はすべてこのアルゴリズムを使用します。 システムスレッド別 シリアル コレクション:シリアル コレクションでは、単一のスレッドを使用してすべてのガベージ コレクション作業を処理します。マルチスレッドのやり取りが必要ないため、実装が簡単で、比較的効率的です。ただし、複数のプロセッサを活用できないという制限も明らかであるため、このコレクションはシングルプロセッサ マシンに適しています。もちろん、このコレクターは、データ量が少ない (約 100 MB) マルチプロセッサ マシンでも使用できます。 並列コレクション:並列コレクションでは、複数のスレッドを使用してガベージ コレクション作業を処理するため、処理が高速かつ効率的になります。理論的には、CPU の数が多いほど、並列コレクターが発揮できる利点は多くなります。 同時実行コレクション:シリアル コレクションや並列コレクションと比較すると、前 2 つはガベージ コレクションを実行するときにオペレーティング環境全体を一時停止する必要があり、ガベージ コレクション プログラムのみが実行されます。そのため、ガベージ コレクション中にシステムは明らかな一時停止状態になり、ヒープが大きくなるにつれて一時停止時間が長くなります。 オリジナルリンク: http://pengjiaheng.iteye.com/blog/520228 【編集者のおすすめ】
|
<<: JVM チューニングの概要: 新世代のガベージ コレクション アルゴリズム
>>: ソートアルゴリズムを簡単に学ぶ: よく使われるソートアルゴリズムを視覚的に体験
モバイルインターネット時代の到来により、AIは前例のない成果を達成し、人々の生活のあらゆる側面に入り...
4月22日、「情報セキュリティ技術の顔認識データのセキュリティ要件」国家標準の草案が正式に公開され、...
最近では、新しいデータ処理技術に関して、さまざまな用語が飛び交っています。ある人は機械学習を使用して...
01 教師あり学習とは何か教師あり学習を行うには、コンピューターが学習できるラベルが付いたサンプル...
[[436858]]この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI...
過去20年間、一部の懐疑論者は、人工知能(AI)の発展が企業構造を混乱させ、大量の失業と富の格差の拡...
近年、インターネットの急速な発展に伴い、通信ニーズが継続的に高まり始めており、通信保証能力がますます...
[[377307]] 1. アルゴリズムの評価基準ソートアルゴリズムを説明する前に、まずアルゴリズム...
ハルビンで開催された2019年中国科学技術協会年次大会において、情報技術分野のハイエンドシンクタンク...
シーメンスとマイクロソフトは、AI の業界横断的な応用を推進するために協力しました。両社は CES ...
機械学習の手法を使用して問題を解決する場合、適切なデータを持つことが重要です。残念ながら、生データは...
Google、スタンフォード大学、カリフォルニア大学バークレー校、OpenAI の研究者が論文「AI...