Red de conocimiento informático - Aprendizaje de programación - ¿Cuáles son los algoritmos GC comunes en Java?

¿Cuáles son los algoritmos GC comunes en Java?

1: Marcar - Limpiar Marcar - Limpiar

Proceso: marcar objetos reciclables para limpiar

Desventajas: el marcado y la limpieza son ineficientes y la limpieza provocará fragmentación de la memoria

2: Copiar algoritmo

Proceso: dividir la memoria en dos bloques iguales, copiar los objetos supervivientes a otro bloque de memoria: dividir la memoria en dos bloques iguales, copiar los objetos supervivientes a otro bloque en un trozo de memoria, limpia la memoria usada

Desventajas: la memoria usada se convierte en la mitad de la original

Evolución: divide un fragmento de memoria en un área de Edén (80) y dos áreas de Superviviente (10)

Cada vez que se utilizan Eden y un Survivor, durante el reciclaje, los objetos supervivientes se copian a otro Survivor a la vez. Si el espacio del otro Survivor es insuficiente, se utiliza la asignación. Se almacena el mecanismo de garantía. en la versión anterior

3: Mark-Compact Mark-Compact

Proceso: mover todos los objetos vivos a un extremo y luego borrar el límite

4: Colección algoritmo

Proceso: divide el montón en la nueva generación y la vieja generación, y selecciona diferentes algoritmos de recolección de acuerdo con las características del área. Si la nueva generación envejece, enferma y muere, el algoritmo de replicación es. se usa, mientras que la generación anterior usa marcar: Limpiar o marcar-comprimir

En la entrevista, es suficiente con nombrar estos cuatro tipos