国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

ホームページ Java &#&はじめる JVM ガベージ コレクション アルゴリズムとは何ですか?

JVM ガベージ コレクション アルゴリズムとは何ですか?

Apr 22, 2021 pm 02:58 PM
JVMガベージコレクションアルゴリズム

JVM ガベージ コレクション アルゴリズム: 1. 「Mark-Clear」アルゴリズム; まず、リサイクルする必要があるすべてのオブジェクトをマークし、マークが完了した後、マークされたすべてのオブジェクトを均一にリサイクルします。 2. アルゴリズムをコピーします。メモリを 2 つの同じサイズのブロックに分割し、一度にそのうちの 1 つだけを使用します。 3. 「Mark-Organization」アルゴリズム; 4. 世代別収集アルゴリズム。

JVM ガベージ コレクション アルゴリズムとは何ですか?

#このチュートリアルの動(dòng)作環(huán)境: Windows7 システム、Java8 バージョン、DELL G3 コンピューター。

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


2 つの概念:

新世代:ライフサイクルの短いオブジェクトが保管される領(lǐng)域。 舊世代: ライフサイクルの長(zhǎng)いオブジェクトが保存される領(lǐng)域。

#同じ點(diǎn): それらはすべて Java ヒープ上にあります

1. マーククリア アルゴリズム

実行手順:

マーキング: メモリ領(lǐng)域を走査し、リサイクルする必要があるオブジェクトをマークします。
  • クリア: メモリを再度たどり、マークされたメモリをリサイクルします。
  • #イラスト:

JVM ガベージ コレクション アルゴリズムとは何ですか?

##欠點(diǎn):

JVM ガベージ コレクション アルゴリズムとは何ですか?

#効率の問(wèn)題; メモリ空間が 2 回橫斷されます (1 回目はマークされ、2 回目はクリアされます)。

スペースの問(wèn)題: 大量のメモリ フラグメントが生成されやすく、より大きなメモリが必要な場(chǎng)合、要件を満たすピースが見(jiàn)つからないため、GC を再度開(kāi)始する必要があります。

  • #2. コピー アルゴリズム

メモリを 2 つの同じサイズのブロックに分割し、そのうちの 1 つだけを使用します。毎回の作品。ブロックが使い果たされてGCが発生すると、ブロック內(nèi)に殘ったオブジェクトが別の領(lǐng)域にコピーされ、不要なメモリが一気にクリアされます。次回 GC がトリガーされると、そのブロックの殘っている部分がこのブロックにコピーされ、その後そのブロックが消去され、このサイクルが繰り返されます。 #図:

##利點(diǎn)

JVM ガベージ コレクション アルゴリズムとは何ですか?#マーククリーン アルゴリズムと比較して、メモリの斷片化の問(wèn)題を解決します。

より効率的です (メモリをクリーンアップするときに、最初と最後のアドレスを覚えて、一度に消去します)。 JVM ガベージ コレクション アルゴリズムとは何ですか?

欠點(diǎn):

  • メモリ使用率は高くなく、一度に使用できるメモリの半分だけです。
改善點(diǎn)

# 研究によると、新世代のほとんどのオブジェクトは「生きて死ぬ」、つまりライフ サイクルが非常に短く、オブジェクトの壽命が長(zhǎng)くなるほど、リサイクルが難しくなります。 GC が発生すると、再利用する必要があるオブジェクトが多く、生き殘るオブジェクトはほとんどないため、別のメモリに移動(dòng)する必要があるオブジェクトはほとんどないため、メモリ空間を 1:1 に分割する必要はありません。代わりに、新世代全體が 8:1:1 の比率で 3 つのエリアに分割され、最大のエリアはエデン エリアと呼ばれ、2 つの小さなエリアはそれぞれ To Survivor および From Survivor と呼ばれます。

最初の GC では、Eden の生き殘ったオブジェクトのみを To にコピーする必要があります。その後、エデン地域全體がリサイクルされます。再度GCが発生した場(chǎng)合は、殘っているEdenとToをFromにコピーし、この作業(yè)を繰り返します。このようにして、各新しい世代で使用可能なメモリは新しい世代全體の 90% を占め、メモリ使用率が大幅に向上します。 [関連する推奨事項(xiàng):
    Java ビデオ チュートリアル
  • ]
ただし、毎回生き殘るオブジェクトが常に新しい世代全體の 10% 未満であるという保証はありません。過(guò)去を保存することはできないため、ここでは、舊世代と呼ばれる別のメモリ ブロックを使用して、割り當(dāng)て保証を?qū)g行し、オブジェクトを舊世代に保存します。十分でない場(chǎng)合は、OOM がスローされます。

古い世代: 複數(shù)回のリサイクル試行 (デフォルトは 15 回) に耐えたオブジェクトを新しい世代に保管します。

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

以前のコピー アルゴリズムは、オブジェクトの生存率が比較的高い場(chǎng)合にコピーを続けるためです。 . やって來(lái)て過(guò)去をコピーすることは無(wú)意味であり、時(shí)間の無(wú)駄です。そこで、高齢者向けに「マーキングソート」アルゴリズムが提案された。

実行ステップ: マーキング: リサイクルする必要があるものにマークを付ける

組織: 殘っているオブジェクトを移動(dòng)させますメモリへ ファイルの一端を移動(dòng)し、未使用のメモリを直接クリーンアップします。

#図:

  • ##4. 世代別収集アルゴリズム

現(xiàn)在、ほとんどの商用仮想マシンはこの世代別コレクション アルゴリズムを使用しています。このアルゴリズムには新しい內(nèi)容はありません。オブジェクトの生存時(shí)間に基づいてメモリを新しい世代と古い世代に分割するだけです。このようにして、対応するアルゴリズムさまざまな分野に採(cǎi)用できます。例:

  • 新世代では毎回大量のオブジェクトが消滅しますが、舊世代ではメモリ保証として使用され、コピーアルゴリズムが採(cǎi)用されています。
  • 舊世代では、オブジェクトの生存期間が長(zhǎng)く、マーク ソート アルゴリズムまたはマーク クリーニング アルゴリズムを使用できます。

MinorGC と FullGC の違い

MinorGC: 新しい世代で発生するガベージ コレクション。新しい世代では、MinorGC が非常に頻繁で、リサイクル速度が比較的速く、毎回のリサイクル量も多くなります。
FullGC: 古い世代で発生するガベージ コレクション (MajorGC とも呼ばれます) は比較的遅く、MinorGc よりも約 10 倍遅くなります。 FullGC には通常、複數(shù)の MinorGC が伴います。

プログラミング関連の知識(shí)について詳しくは、プログラミング ビデオをご覧ください。 !

以上がJVM ガベージ コレクション アルゴリズムとは何ですか?の詳細(xì)內(nèi)容です。詳細(xì)については、PHP 中國(guó)語(yǔ) Web サイトの他の関連記事を參照してください。

このウェブサイトの聲明
この記事の內(nèi)容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰屬します。このサイトは、それに相當(dāng)する法的責(zé)任を負(fù)いません。盜作または侵害の疑いのあるコンテンツを見(jiàn)つけた場(chǎng)合は、admin@php.cn までご連絡(luò)ください。

ホットAIツール

Undress AI Tool

Undress AI Tool

脫衣畫(huà)像を無(wú)料で

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード寫(xiě)真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

寫(xiě)真から衣服を削除するオンライン AI ツール。

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無(wú)料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡(jiǎn)単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無(wú)料のコードエディター

SublimeText3 中國(guó)語(yǔ)版

SublimeText3 中國(guó)語(yǔ)版

中國(guó)語(yǔ)版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強(qiáng)力な PHP 統(tǒng)合開(kāi)発環(huán)境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開(kāi)発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)