Articulo de referencia

Recolector de basura primero

Garbage-First ( G1 ) es un algoritmo de recolección de basura introducido en la máquina virtual Java (JVM) Oracle HotSpot 6 Update 14 y compatible desde la 7 Update 4. Se planeó...

Garbage-First ( G1 ) es un algoritmo de recolección de basura introducido en la máquina virtual Java (JVM) Oracle HotSpot 6 Update 14 y compatible desde la 7 Update 4. Se planeó que reemplazara al recolector de barrido de marcado concurrente (CMS) en la JVM 7 y se convirtió en el predeterminado en Java 9. [ 1 ]

Recolector de basura

El recolector Garbage-First (G1) es un recolector de basura de estilo servidor , diseñado para multiprocesadores con grandes memorias , que cumple con un objetivo de tiempo real flexible con alta probabilidad, al tiempo que logra un alto rendimiento . [ 2 ] G1 recolecta preferentemente regiones con la menor cantidad de datos activos, o "basura primero". [ 3 ] G1 es el reemplazo a largo plazo de CMS. Las operaciones de todo el montón, como el marcado global, se realizan concurrentemente con los hilos de la aplicación , para evitar interrupciones proporcionales al tamaño del montón o de los datos activos. El marcado concurrente proporciona tanto la completitud de la recolección como la identificación de regiones listas para ser recuperadas mediante la evacuación compactada. Esta evacuación se realiza en paralelo en multiprocesadores, para disminuir los tiempos de pausa y aumentar el rendimiento.

G1 se introdujo por primera vez como una opción experimental en Java SE 6 Update 14, [ 4 ] donde se puede habilitar con los siguientes dos parámetros de línea de comandos: -XX:+UnlockExperimentalVMOptionsy -XX:+UseG1GCCon JDK 7, se planeó que G1 reemplazara a CMS en la JVM Hotspot. Hay dos diferencias principales entre CMS y G1. La primera es que G1 es un recolector de compactación . [ 5 ] G1 compacta lo suficiente como para evitar por completo el uso de listas libres de grano fino para la asignación, lo que simplifica considerablemente partes del recolector y elimina en gran medida los posibles problemas de fragmentación . Además de compactar, G1 ofrece pausas de recolección de basura más predecibles que el recolector CMS y permite a los usuarios establecer sus objetivos de pausa deseados.

En Java 9, G1 se convirtió en el recolector de basura predeterminado, [ 6 ] [ 1 ] a pesar de que Google propuso el conocido CMS como estándar, alegando que el CMS modificado que utiliza tiene un mejor rendimiento que G1. [ 7 ] Desde entonces, Oracle ha mejorado considerablemente el rendimiento, la latencia y el consumo de memoria de G1 . [ 8 ]

El comportamiento en tiempo real garantizado, incluso con recolección de basura, requiere un recolector de basura en tiempo real como los que vienen con Java RTS de Sun [ 9 ] o WebSphere RT de IBM . [ 10 ]

Véase también

Referencias

  1. 1 2 "JEP 248: Hacer de G1 el recolector de basura predeterminado" . openjdk.java.net . Consultado el 09-12-2019 .
  2. Detlefs, David; Flood, Christine; Heller, Steve; Printezis, Tony (2004). «Recolección de basura con prioridad a la basura». Actas del 4.º simposio internacional sobre gestión de memoria . págs. 37–48 . CiteSeerX 10.1.1.63.6386 . doi : 10.1145/1029873.1029879 . ISBN   1581139454. S2CID 3330886 . 
  3. "Parte 1: Introducción al recolector de basura G1" . www.redhat.com .
  4. "G1: El primer recolector de basura de Java" . Dr. Dobbs .
  5. "El primer recolector de basura" . www.fasterj.com .
  6. "¿Por qué G1 es el recolector de basura predeterminado para Java 9?" .
  7. "El nuevo recolector de basura de Java 9: ​​¿Qué cambia? ¿Qué se mantiene? - JAXenter" . jaxenter.com. 26 de junio de 2015.
  8. Johansson, Stefan (11 de octubre de 2021). "G1: Hasta el infinito y más allá" . inside.java .
  9. http://www.oracle.com/technetwork/articles/javase/index-138577.html Introducción a la tecnología Java en tiempo real: Parte 2, Recolección de basura y el sistema Java en tiempo real de Sun (Java RTS)
  10. http://www.ibm.com/developerworks/java/library/j-rtj4/index.html?S_TACT=105AGX02&S_CMP=EDU Recolección de basura en tiempo real
  • Blog del equipo de recolección de basura HotSpot G1/Parallel/Serial GC
  • Recogida de basura: Primero la basura
  • ¿Cómo funciona el recolector de basura Garbage-First?
  • MANUAL DE RECOLECCIÓN DE BASURA DE JAVA G1 – Garbage First Archivado el 5 de junio de 2017 en Wayback Machine
  • G1: Un recolector de basura para gobernarlos a todos
  • 1. Descripción general del modelo "Primero la basura"
Obtenido de " https://en.wikipedia.org/w/index.php?title=Garbage-first_collector&oldid=1360896954 "