it-swarm.com.de

Standard Garbage Collector für Java 8

Was ist der Standard-Garbage Collector für Java 8?

Wenn ich die JMX-Beans überprüfe, stelle ich fest, dass es sich um den parallelen Kollektor für die neue Generation und den alten seriellen Kollektor für die alte Generation handelt.

78
Code Junkie

Standardmüllsammler:

  • Java 7 - Parallel GC
  • Java 8 - Parallel GC
  • Java 9 - G1 GC
  • Java 10 - G1 GC
109
x4444

Das Auswählen des Standard-Garbage Collectors (unter anderem) wird als Ergonomie -Prozess der JVM bezeichnet. Dieser Vorgang hängt von der Klasse Ihrer Maschine ab.

  • Bei Computern der Serverklasse, die als Computer mit 2 oder mehr physischen Prozessoren und 2 oder mehr GB physischem Speicher (unabhängig von der Plattform) definiert sind, ist der Standard-Garbage Collector paralleler Collector (auch bekannt als Durchsatzkollektor).
  • Bei Computern der Client-Klasse, die unter Windows als 32-Bit-Plattform oder als Einzelprozessor-Computer definiert sind, ist der Standard-Garbage Collector der serielle Collector.

Da praktisch alle Maschinen 2 oder mehr CPUs haben, wird eine Maschine von der JVM praktisch immer als Server-Klasse betrachtet. Aus diesem Grund finden Sie viele Referenzen, bei denen der Parallel-Collector als Standard-Garbage-Collector eingestuft wird.

73
Tunaki

Java hat vier Arten von Garbage Collectors (bis Version 10), aber nach der stabilen Version von Java 11) wären es 5 Arten. Dies sind:

  1. Serial Garbage Collector- S GC
  2. Parallel Garbage Collector- P GC
  3. CMS Garbage Collector- CMS GC
  4. G1 Garbage Collector- G1 GC
  5. Der Z Garbage Collector- ZGC

Standardimplementierungen von GC in Java -

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)

Weitere Details zu ZGC finden Sie unter

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

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

Hinweis: Wenn Sie überprüfen möchten, welcher GC derzeit von JVM verwendet wird, können Sie den folgenden Befehl ausführen, um den Standard-GC anzuzeigen: -

$ Java -XX:+PrintCommandLineFlags -version 

Wenn Sie den GC entsprechend Ihren Anforderungen einstellen möchten, können Sie dies mit dem folgenden Befehl tun. Hier werde ich G1 GC als Standard-GC festlegen.

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

enter image description here

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

37
Brajesh