Default garbage collector for Java 8

前端 未结 4 1806
不思量自难忘°
不思量自难忘° 2020-12-04 08:14

What is the default garbage collector for Java 8?

When I check the JMX Beans, they reveal it to be the parallel collector for the new generation and the old serial c

相关标签:
4条回答
  • 2020-12-04 09:02

    Since Java 9 until Java 15 the G1GC is the default even on Java 15 which adds two new generation Garbage collectors the one that Oracle develop ZGC and a red hat implementation which is Shenandoah both are production ready in Java 15 september of 2020.

    0 讨论(0)
  • 2020-12-04 09:03

    Default garbage collectors:

    • Java 7 - Parallel GC
    • Java 8 - Parallel GC
    • Java 9 - G1 GC
    • Java 10 - G1 GC
    0 讨论(0)
  • 2020-12-04 09:06

    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.

    0 讨论(0)
  • 2020-12-04 09:08

    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:-

    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. 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

    0 讨论(0)
提交回复
热议问题