Cepillo preguntas de la entrevista 25: JVM algoritmo de recolección de basura?

image.png

La recolección de basura es el punto culminante del lenguaje Java, que mejora la eficiencia del desarrollador.
GC que la recolección de basura, cuando fuera de disparadores de memoria, diferentes versiones de los algoritmos y mecanismos de JVM son diferentes.

Estaba Li Fuchun, me preparo para la entrevista, la pregunta de hoy es:

JVM algoritmo de recolección de basura ¿Qué? Lo recolector de basura?

A: JVM recolección de basura primera necesidad de marcar el reciclable objeto, utiliza hasta algoritmos de grafos (a partir de objetos, dibujar un objeto gráfico referencias,
cuando se parte del objeto activo, objetos inalcanzables en el dibujo que es objetos recuperables pueden ser etiquetados)

JVM algoritmo de recolección de basura tiene tres, incluyen los siguientes:
1, el algoritmo de marca y barrido. (Que está marcado objetos reciclables directamente a limpiar, causará problemas de fragmentación de memoria, pero no eficiente);
2, marcar Algoritmo de clasificación. (Que está marcado objetos reciclables para limpiar, terminando el proceso de limpieza de la memoria para resolver los problemas de fragmentación de memoria);
3, marcando algoritmo de replicación. (Copia los objetos marcados para limpiar, sin limpieza del objeto a la zona, entonces Swap referencia para resolver el problema de la fragmentación de la memoria, pero necesidad de mantener objeto-relacional traer un precio determinado)

Comunes son los siguientes cuatro colector de basura, con la versión de JDK iteración es cada vez mayor. Se enumeran a continuación:
. 1, serialGC, es decir, la recogida de un solo subproceso de basura, la ventaja de simple, es causado problemas stop-el-mundo la desventaja, y una versión anterior del colector de basura
2, ParallelGC, es decir, recolector de basura paralelo (la nueva generación, la vejez se recoge en paralelo), para comparar el rendimiento de la escena;
3, CMSGC, respuesta prioritaria recolector de basura de tiempo, para aplicaciones web, plantean un problema de la fragmentación de la memoria.
4, G1GC, teniendo en cuenta el tiempo de respuesta y el rendimiento recolector de basura para la consolidación de la memoria han zonificación manera bordo, que es el valor por defecto recolector de basura de java8;

proceso de recolección de basura

Garbage principalmente en dos zonas: de acuerdo con la máquina virtual Java modelo de memoria, es decir, el montón, el área de método la región de metadatos;

Garbage proceso de recogida de área montón como sigue:

1, el objeto es creado en el montón de una nueva generación de región eden;

2, cuando la memoria de las veces o gatillo periódica minorGC, copia sin marcar de la región objeto de sobrevivir, marcado objetos recuperados directamente;

3, en el ciclo de vida JVM ciclo continuo: Gatillo minorGC, área de servicio convertidos a partir de zona, constantemente copian De Edén y zona hay objetos a al área,
y se organizan para evitar la fragmentación, el ciclo de vida de más de JVM copiar objetos al umbral fijado por el distrito de edad de edad;

4, cuando en realidad un montón de memoria, lo que provocó FullGC, eden reorganizar, de, a, distrito de edad, por lo general se traducirá en la capacidad del sistema rápido declive.

basura metadatos área de colección: sobre todo cuando algunos ya no están en uso, los tipos descargados del área de metadatos.

resumen

Benpian respondió marcando algoritmo para la recolección de basura, el algoritmo de recolección de basura, un recolector de basura común, proceso de recolección de basura.

image.png

El original no es fácil, por favor indique la fuente.

Supongo que te gusta

Origin www.cnblogs.com/snidget/p/12611730.html
Recomendado
Clasificación