ホームページ >Java >&#&チュートリアル >Java のガベージ コレクターの種類
Java ガベージ コレクターのタイプは、プログラムの開発に使用するタイプを定義します。ガベージ コレクションは Java の重要な機能です。 Java では、ガベージ コレクションを使用して、使用されなくなったメモリを解放します。ガベージ コレクターは、まだ使用されているすべてのオブジェクトを追跡し、残りのオブジェクトをガベージとしてマークします。ガベージ コレクターは、スイープおよびマーク アルゴリズムを使用します。
Java では、ガベージ コレクションはメモリの管理に他なりません。 JVM を使用して同じことを行っています。ガベージ コレクションを使用すると、プログラマがオブジェクトの割り当てと割り当て解除を処理する必要がなくなります。 Java では、アプリケーションはオペレーティング システムを使用してメモリの割り当てと解放を行い、アプリケーションから同じものを提供し、新しい変数のガベージ コレクションを提供します。
無料ソフトウェア開発コースを始めましょう
Web 開発、プログラミング言語、ソフトウェア テスト、その他
Java は、アプリケーションのさまざまなニーズを満たす複数のガベージ コレクターを提供します。アプリケーションに適切なガベージ コレクターを選択することは、アプリケーションのパフォーマンスを向上させるために非常に重要です。 Java は、アプリケーションのニーズを満たすために複数のタイプのガベージ コレクターを提供します。
以下は Java ガベージ コレクターの種類です。
次のように、要件に従ってこれらの型を使用しています。
各ガベージ コレクターの動作とパフォーマンスは異なります。それにはそれぞれの長所と短所が含まれています。 Java では、JVM で使用されるガベージ コレクターを選択できます。ガベージコレクタの選択時に、JVMの引数を渡す必要があります。
このガベージ コレクターは、アプリケーションのすべてのスレッドを保持しながら動作します。したがって、アプリケーションのスレッドはシリアル ガベージ コレクターのプロセスを使用することによってフリーズすると言えます。このプロセスはワールドとして知られており、イベントを停止します。サーバー環境でシリアル ガベージ コレクターの使用を許可するために、単純なプログラムでも同じものを使用できます。
シリアル ガベージ コレクターを使用するには、JVM の引数に –XX:+UseSerialGC を実行する必要があります。シリアルガベージコレクター使用時に指定できます。
パラレル GC とシリアル GC の唯一の違いは、パラレル GC は複数のスレッドを使用するのに対し、シリアル GC は単一のスレッドのみを使用することです。アプリケーションのスループットを高速化するために並列 GC を使用しています。これはスループット コレクターとしても知られています。
並列ガベージ コレクターを使用するには、JVM の引数で –XX:+UseParallelGC を使用する必要があります。 Java アプリケーションを開発する際には、パラレルおよびシリアル ガベージ コレクターが不可欠です。
CMS GC では、ヒープとスキャンに使用される複数のスレッドを使用しており、マークされたインスタンスの削除をマークします。このタイプの GC では、GC 時にアプリケーション スレッドがフリーズされません。ガベージ コレクターのスレッドはアプリケーション スレッドと並行して実行されています。
このガベージ コレクターを使用すると、複数の CPU を使用してアプリケーションのスループットを向上させることができます。使用する CPU がさらに多い場合は、CMS GC を使用します。 CMS ガベージ コレクターを使用するには、JVM の引数に –XX:+UseParNewGC を使用する必要があります。このガベージ コレクターを使用するときは、この Java 仮想マシン引数を使用します。
G1 ガベージ コレクターは、4 GB を超えるメモリが含まれる場合に使用されます。この GC はヒープを同じサイズのチャンクに分割し、優先度に従って並列ガベージ コレクションを実行します。 G1 ガベージ コレクターは、グローバル マーキング フェーズを示しています。
マーキング フェーズの完了中に、このガベージ コレクターはガベージ コレクターのオブジェクトを含む情報を収集します。 G1 ガベージ コレクターを使用するには、JVM の引数に –XX:+UseG1GC を使用する必要があります。
これはパッシブまたは非動作のガベージ コレクターです。このガベージ コレクターはアプリケーションにメモリを割り当てますが、未使用のオブジェクトは収集しません。アプリケーションがヒープを使い果たすと、JVM がシャットダウンするため、この GC によりアプリケーションがメモリ不足になるかクラッシュする可能性があると言えます。
このガベージ コレクターの主な目的は、アプリケーションのパフォーマンスを管理および測定することです。このガベージ コレクターには、プログラム内で実行されていた複雑なプログラムが含まれています。
このガベージ コレクターは、アプリケーションの実行を停止することなく、すべての作業を同時に実行します。このガベージ コレクターは、数テラバイトのサイズを含むヒープを処理します。
このタイプのガベージ コレクターは、スレッドへのサイクルを実行します。平均 1 ミリ秒でアプリケーションが一時停止されます。
このタイプのガベージ コレクターは、どのオブジェクトが使用されなくなったか、どのオブジェクトが圧縮の準備ができたかを管理するためにメモリ領域を使用します。このガベージ コレクターは、指定されたオブジェクトに対する制御アクセスを使用する転送ポインターをすべてのヒープに追加します。
以下は Java 仮想マシンの引数です。これらの引数をガベージ コレクターで次のように使用します。
Java は、さまざまなアプリケーションのニーズを満たすさまざまなガベージ コレクターを提供します。アプリケーションのパフォーマンスを向上させるには、アプリケーションに適切なガベージ コレクターを選択することが不可欠です。 Java ガベージ コレクターのタイプは、プログラムの開発時に使用するガベージ コレクターのタイプを定義します。 Java にはガベージ コレクションと呼ばれる重要な機能があります。
以上がJava のガベージ コレクターの種類の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。