7つのガベージコレクター

シリアルコレクター:シリアル、シリアルオールド
パラレルコレクター:ParNew、パラレルスカベンジ、パラレルオールド
コンカレントコレクター:CMS、G1

ガベージコレクタとガベージ生成の関係

新世代コレクター:Serial、ParNew、Parallel Scavenge
旧世代コレクター:Serial Old、Parallel Old、CMS
ヒープ全体コレクター:G1

ここに画像の説明を挿入します

使用シナリオ:
スループット(スループット)と低遅延(低遅延)に同時に注意を払います。デフォルトの一時停止ターゲットは200ミリ秒の
超大容量ヒープメモリであり、ヒープは同じサイズの複数の領域に分割されます。
全体的なラベル付け+ソートアルゴリズムはリージョン間の2つのコピーアルゴリズムです

関連するJVMパラメーター
-XX:+ UseG1GC
-XX:G1HeapRegionSize = size
-XX:MaxGCPauseMillis = time

デフォルトのガベージコレクターを表示する方法

-XX:+ PrintCommandLineFlags:コマンドライン関連のパラメーター(使用されているガベージコレクターを含む)を表示します。
コマンドラインコマンドを使用します:jion -flag関連のガベージコレクション期間パラメータープロセスID。IDEA
ここに画像の説明を挿入します
コンソールで、使用されているgcが:ParallelGC、次に対応する古い時代のgcはParallelGC Old GCです
ここに画像の説明を挿入します
。jinfoを使用してjvm情報を表示する場合、jdk1.8で使用されるガベージコレクターはUseParallelGCおよびUseParallelOldGC
コマンドです
。jinfo[option] pid
option

  • オプションの具体的なオプションと機能は次のとおりです。

  • -フラグはjvmパラメータを表示します

  • -syspropsJavaシステムパラメータを表示します

-フラグ[+ |-]実行中のJavaアプリケーションのJVMパラメーターを変更します。+は対応するパラメーターを開きます。-は対応するパラメーターを閉じます。

D:\BaiduNetdiskDownload\谷粒商城\jvm\代码\JVMDemo>jps
7440 Jps
3988
10824 Launcher
9180 GCUseTest

D:\BaiduNetdiskDownload\谷粒商城\jvm\代码\JVMDemo>jinfo -flag UseParallelGC 9180
-XX:+UseParallelGC

D:\BaiduNetdiskDownload\谷粒商城\jvm\代码\JVMDemo>jinfo -flag UseParallelOldGC 9180
-XX:+UseParallelOldGC

ガベージコレクターの選択:
メモリの使用と並列オーバーヘッドを最小限に抑えたい場合は、シリアルGCを選択してください。
アプリケーションのスループット(スループット)を最大にしたい場合は、
GCの中断と一時停止を最小限に抑えたい場合は並列GCを選択してください。時間(低スループット)、CMSGCを選択してください

おすすめ

転載: blog.csdn.net/u014496893/article/details/114628171