2012-05-01 8 views
5

ガベージコレクションアルゴリズムが異なることは知っています。コピーコレクションとマークコンパクトコレクション、インクリメンタルコレクションです。今質問があります。どのアルゴリズムがJVMで使用されていますか?なぜ異なるアルゴリズムが利用可能なのですか?JVMガベージコレクションアルゴリズム

答えて

3

まず、JVMのバージョンがmore than oneです。

ほとんどの主要なJVMはデフォルトでgenerational garbage collectionを使用していると思います。彼らはまた、しかし、ハイブリッド戦略を使用することがあります。ここで

は、主要なJVMの使用して世代別ガベージコレクションのいくつかのリンクです:

は、ここで私はそれがJRockitがマーキング戦略を使用して示した素晴らしい記事です: Comparison of three Major JVM's

+0

また、JVMはガベージコレクションアルゴリズムの選択を提供します。 – joshp

+0

はい、一部のJVMは特定の戦略、たとえばJrockitを使用するように調整されています。 – stevebot

3

異なるガベージコレクタにはさまざまな長所と短所、重要な機能はスループット、休止時間と並列化です。どのガベージコレクタが使用されているか、または使用可能かは、JDKのバージョン、JVMモード(クライアントまたはサーバー)、および使用できる大量の構成設定によって決まります。 GC技術は進化しています。

0

JVMが発展するにつれて、より多くのJVMアルゴリズムは、プリ1の不足を解決するために表示され、:ここではいくつかの有用なリンクがあります JDK5.0には、シリアル、スルー、コンカレント、トレインの4つのタイプのコレクタがあります。 コレクタ