Quel est le garbage collector par défaut pour Java 8?
Lorsque je vérifie les Beans JMX, ils révèlent qu'il s'agit du collecteur parallèle pour la nouvelle génération et de l'ancien collecteur série pour l'ancienne génération.
Quel est le garbage collector par défaut pour Java 8?
Lorsque je vérifie les Beans JMX, ils révèlent qu'il s'agit du collecteur parallèle pour la nouvelle génération et de l'ancien collecteur série pour l'ancienne génération.
Réponses:
La sélection du ramasse-miettes par défaut (entre autres) est ce qu'on appelle le processus d' ergonomie de la JVM. Ce processus dépend de la classe de votre machine.
Étant donné que pratiquement toutes les machines ont 2 CPU ou plus, une machine est pratiquement toujours considérée comme une classe serveur par la JVM. C'est pourquoi vous trouverez de nombreuses références considérant le collecteur parallèle comme le garbage collector par défaut.
Java a quatre types de ramasse-miettes (jusqu'à la version 10), mais après la version stable de java 11, ce serait 5 types. Ceux-ci sont:-
S GC
P GC
CMS GC
G1 GC
ZGC
Implémentations par défaut de GC en Java -
GC JVM
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)
Plus de détails pour ZGC, veuillez visiter
http://openjdk.java.net/projects/zgc/
https://www.opsian.com/blog/javas-new-zgc-is-very-exciting/
Remarque: Si vous souhaitez vérifier quel GC est actuellement utilisé par JVM, vous pouvez utiliser la commande suivante pour afficher le GC par défaut: -
$ java -XX:+PrintCommandLineFlags -version
Si vous souhaitez définir GC en fonction de vos besoins, vous pouvez le faire en suivant la commande. Ici, je vais définir G1 GC comme GC par défaut.
$ 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