Qual é o coletor de lixo padrão para Java 8?
Quando eu verifico o JMX Beans, eles revelam que ele é o coletor paralelo para a nova geração e o coletor serial antigo para a geração anterior.
Qual é o coletor de lixo padrão para Java 8?
Quando eu verifico o JMX Beans, eles revelam que ele é o coletor paralelo para a nova geração e o coletor serial antigo para a geração anterior.
Respostas:
A seleção do coletor de lixo padrão (entre outras coisas) é o que chamamos de processo ergonômico da JVM. Este processo depende da classe de sua máquina.
Como praticamente todas as máquinas têm 2 ou mais CPUs, uma máquina é praticamente sempre considerada de classe de servidor pela JVM. É por isso que você encontrará muitas referências considerando o coletor paralelo como o coletor de lixo padrão.
Java tem quatro tipos de coletores de lixo (até a versão 10), mas após o lançamento estável do java 11, seriam 5 tipos. Esses são:-
S GC
P GC
CMS GC
G1 GC
ZGC
Implementações padrão de GC em 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)
Mais detalhes para ZGC, visite
http://openjdk.java.net/projects/zgc/
https://www.opsian.com/blog/javas-new-zgc-is-very-exciting/
Nota: Se você quiser verificar qual GC está sendo usado pelo JVM, você pode acessar o seguinte comando para mostrar o GC padrão: -
$ java -XX:+PrintCommandLineFlags -version
Se você deseja definir o GC de acordo com sua necessidade, você pode fazer isso seguindo o comando. Aqui, vou definir G1 GC como GC padrão.
$ 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