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

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

  最も基本的なアルゴリズムは、2つのマークに分け、2つの段階が掃引されています。最初のすべてのオブジェクトが、回復完了マーク後にクリア統一する必要がマークします。

      

 

 

  二つの問題:

    1:マークとスイープ効率が高くありません

    2:将来の大きなオブジェクトに割り当てることができないメモリをもたらすことができる別個のメモリの断片を大量に生成します。

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

  複製アルゴリズム使用可能なメモリ容量は、二つの等しいサイズに分割唯一の各一がなくなったときに、またもう一回にコピーライブオブジェクトは、そのクリーンアウトを指示し、その後使用されてきています。

        

   効率の莫大な増加が、半分しかメモリ、廃棄物のビット。

   今、商用の仮想マシンは、リサイクルコレクションアルゴリズムのこの新世代を使用しているが、それには二つの等しいサイズに分割されるのではなく、エデンの大きな空間と2つのサバイバー小さなスペース、エデンとどちらそれぞれ使用サバイバー。リサイクルサバイバーの別の部分にコピーし、エデンとサバイバーも生きているオブジェクト、最終的なクリーンアップエデン、それにサバイバーを使用。

 

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

  レプリケーションアルゴリズムが古いのオブジェクトには適用されません、など明確なマーキングおよびラベリング処理、別のアルゴリズムを提案したが、動きの背後にあるオブジェクトの生存期間は、オフ側の境界以外の直接のクリーンアップ値を終了します  

          

4.世代のコレクション:

  古い年に杭と新世代、多数のオブジェクトごとに死者の友人の新世代、複製アルゴリズムの選択、高い生存率歳、ラベル付けアルゴリズムを使用します。

 

 

 

 

 

 

本論文では、著者は、グラフィックパターン、オリジナルのボーエンのリンクを使用します。https://github.com/zanwen/my-offer-to-java、いかなる商業目的に、レコードのみを学習するために使用されていません。

 

おすすめ

転載: www.cnblogs.com/Xjx-zhenCai/p/11360451.html