Default garbage collector for Java 8
Default garbage collectors:
- Java 7 - Parallel GC
- Java 8 - Parallel GC
- Java 9 - G1 GC
- Java 10 - G1 GC
Selecting the default garbage collector (among other things) is what's called the ergonomics process of the JVM. This process depends on the class of your machine.
- For server-class machine, defined as a machine with 2 or more physical processors and 2 or more GB of physical memory (regardless of the platform), the default garbage collector is the parallel collector (also known as throughput collector).
- For client-class machine, defined as a 32-bit platform on Windows or a single-processor machine, the default garbage collector is the serial collector.
Since practically all machines have 2 or more CPU, a machine is practically always considered server-class by the JVM. That's why you will find a lot of references considering the parallel collector to be the default garbage collector.
Java has four types of garbage collectors(Up to version 10),but after stable release of java 11 , it would be 5 types. These are:-
- Serial Garbage Collector-
S GC
- Parallel Garbage Collector-
P GC
- CMS Garbage Collector-
CMS GC
- G1 Garbage Collector-
G1 GC
- The Z Garbage Collector-
ZGC
Default implementations of 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)
More details for ZGC,please visit
http://openjdk.java.net/projects/zgc/
https://www.opsian.com/blog/javas-new-zgc-is-very-exciting/
Note: If you want to verify, which GC is currently being used by JVM,you can go for following command to show default GC:-
$ java -XX:+PrintCommandLineFlags -version
If you want to set GC according to your need, you can do this by following command. Here I am going to set G1 GC as default 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