Java 8のデフォルトのガベージコレクター


94

Java 8のデフォルトのガベージコレクターとは何ですか?

JMX Beanを確認すると、新しい世代の並列コレクターであり、古い世代の古いシリアルコレクターであることがわかりました。

回答:


128

デフォルトのガベージコレクター:

  • Java 7-並列GC
  • Java 8-並列GC
  • Java 9-G1 GC
  • Java 10-G1 GC

80

(特に)デフォルトのガベージコレクターを選択することは、JVMの人間工学的プロセスと呼ばれるものです。このプロセスは、マシンのクラスによって異なります。

  • 2つ以上の物理プロセッサと2 GB以上の物理メモリ(プラットフォームに関係なく)を備えたマシンとして定義されるサーバークラスマシンの場合、デフォルトのガベージコレクターは並列コレクター(スループットコレクターとも呼ばれます)です。
  • Windowsの32ビットプラットフォームまたはシングルプロセッサマシンとして定義されているクライアントクラスマシンの場合、デフォルトのガベージコレクターはシリアルコレクターです。

事実上すべてのマシンに2つ以上のCPUが搭載されているため、JVMでは、マシンは事実上常にサーバークラスと見なされます。そのため、パラレルコレクターをデフォルトのガベージコレクターと見なす参照がたくさんあります。


54

Javaには4つのタイプのガベージコレクター(バージョン10まで)がありますが、Java 11の安定したリリース後は5つのタイプになります。これらは:-

  1. シリアルガベージコレクター S GC
  2. 並列ガベージコレクター P GC
  3. CMSガベージコレクター CMS GC
  4. G1ガベージコレクター G1 GC
  5. Zガベージコレクター ZGC

JavaでのGCのデフォルト実装-

JVM GC

 Java 7 - P GC       
 Java 8 - P GC
 Java 9 - G1 GC
 Java 10- G1 GC
 Java 11- Z GC(I am not sure but it would be default GC of java 11)

ZGCの詳細については、ご覧ください

http://openjdk.java.net/projects/zgc/

https://www.opsian.com/blog/javas-new-zgc-is-very-exciting/

注:現在GCがJVMで使用されていることを確認する場合は、次のコマンドでデフォルトのGCを表示できます。

$ java -XX:+PrintCommandLineFlags -version 

必要に応じてGCを設定する場合は、次のコマンドを使用してこれを行うことができます。ここでは、G1 GCをデフォルトのGCとして設定します。

$ java -XX:+UseG1GC -XX:+PrintCommandLineFlags -version 

ここに画像の説明を入力してください

For more details , please visit 

https://javapapers.com/java/types-of-java-garbage-collectors/

https://alvinalexander.com/java/java-jvm-how-show-which-garbage-collector-running


詳細については、図のソースに言及することは有用であろう
xagaffar

2
こんにちは@xagaffarはここにソースURL javapapers.com/java/types-of-java-garbage-collectorsがあります
Brajesh

1
私はZGCはJDK 11.オープンJDKのwikiのデフォルトのGCである(とは思わない@Brajesh wiki.openjdk.java.net/display/zgc/Mainすること)を使用する「-XXを述べている:+ UnlockExperimentalVMOptions -XX:+ UseZGCオプションを有効にしますZGC。」つまり、それはデフォルトではありません。
Ashish Kumar

いいえ、JDK11のデフォルトではありません。-XX:+ UnlockExperimentalVMOptions -XX:+ UseZGCオプションを使用してZGCがZGCをロック解除できるようにする
vsingh

1
図のフロー図は、「シリアル」、「パラレル」、および「並行」のガベージコレクターの違いを説明するのに非常に役立ちますが、G1コレクターのこれらの9つの色の四角形では、まったく意味がありません。彼らはどういう意味ですか?糸は正方形になりますか?
Holger
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.