¿Qué significa Generations of Garbage Collector en C#? ¿Es diferente del concepto o es GENERACIÓN solo un término usado para representar el período de tiempo?¿Qué significa Generations of Garbage Collector?
Respuesta
Una generación de GC se refiere a la cantidad de recolecciones de basura que un objeto sobrevive.
Todos los objetos comienzan en la generación 0. Cuando se produce una recolección de basura, y no se puede recoger un objeto N de generación, se mueve a la generación N + 1.
Las generaciones se utilizan para mejorar el rendimiento de la recolección de basura. En general, es cierto que la generación 0:
- es una pequeña fracción de todo el montón de tamaño
- tiene una gran cantidad de objetos de corta vida.
Por lo tanto, cuando se produce la recolección de basura, el recolector de basura comienza por recoger la generación 0, que será rápida. Si se puede liberar suficiente memoria, no hay necesidad de mirar a las generaciones anteriores, y por lo tanto, la recolección puede suceder rápidamente.
Se pueden escribir libros sobre el tema; pero para empezar, hay algunos detalles importantes en this article, o el reference here.
- 1. .NET Garbage Collector mystery
- 2. Java Collections y Garbage Collector
- 3. Clases anónimas Java y Garbage Collector
- 4. .NET Garbage Collector: ¿cuál es su prioridad de subprocesos?
- 5. ¿Cómo detecta Garbage Collector de Python las referencias circulares?
- 6. java - ¿Cómo puede Garbage Collector saber rápidamente qué objetos ya no tienen referencias?
- 7. ¿Qué significa iota of std :: iota?
- 8. Objective C 2.0 Garbage Collector VS Contador de referencia automático en IOS 5 SDK
- 9. Comprensión de la métrica de Surviving Generations
- 10. ¿Qué significa esta oración en 'The Zen of Python'?
- 11. ¿Qué significa "babosa" significa
- 12. ¿Qué significa ('../') significa?
- 13. ¿Qué significa Field.Index.NOT_ANALYZED_NO_NORMS significa
- 14. Forcing Garbage Collection
- 15. Hardware Assisted Garbage Collection
- 16. .NET Garbage Collection Latency
- 17. ¿Qué significa "sincronización inconsistente"?
- 18. ¿Qué significa "1"? significa en Perl?
- 19. Valgrind 'ruido', ¿qué significa?
- 20. Java Garbage Collection Mensajes de registro
- 21. ¿Qué significa <? = Mean?
- 22. ¿Qué significa @plt aquí?
- 23. Django Python Garbage Collection aflicciones
- 24. ¿Qué significa "?" significa en Java?
- 25. ¿Qué significa '??' significa en C#?
- 26. ¿Qué significa "ruptura BC" significa?
- 27. ¿qué significa "$ &" significa en Ruby
- 28. ¿Qué significa xmlns = "" significa exactamente
- 29. ¿Qué significa hibernate.default_schema?
- 30. ¿Qué significa auto && do?
Driis: - "No hay necesidad de mirar generaciones anteriores" significa? Lo que estoy recibiendo aquí es que si hay suficiente memoria, entonces la Generación N y N + 1 no se verán. ¿Está bien o me estoy perdiendo algo? –
+1. @RahulTripathi, solo hay 3 generaciones (0, 1, 2) que tienen conjuntos de reglas específicos cuando cada generación se incluye en la colección. Los enlaces provistos por driis (y cualquier artículo que he visto hasta ahora) entran en detalles sobre cada una de las generaciones. –
@RahulTripathi sí, y como comenta Alexei, hay generaciones 0, 1 y 2. Se dice que los objetos en la generación 2 son objetos de larga vida. – driis