Gen 0: Entonces leo que gen 0 se dispara cuando gen 0 excede un umbral de tamaño. Pero también leí que GC no se realiza en una "nueva", porque "nuevo" simplemente desliza una dirección hacia adelante. Entonces, ¿cuándo verifica que ha excedido el umbral para activar el gen 0 GC?¿Cuándo se activa gen 0, gen 1, gen 2 exactamente?
Gen 1/2: ¿Gen gen 1/2 tiene su propio umbral de tamaño que activa el GC? ¿Cuándo consideran el umbral? ¿Es el momento en que los sobrevivientes son promovidos al gen?
¿Eso significa que se produce un gen 1 GC primero comprueba gen 0, luego los promueve al gen 1, solo para encontrar que gen 1 ha excedido el umbral y así comprobar gen 1, y comprobar gen 0 de nuevo?
Y significa que para que se produzca un gen 2 GC primero comprueba gen 0, luego los promueve al gen 1, solo para encontrar que gen 1 ha excedido el umbral y por lo tanto comprueba gen 1 y comprueba gen 0 nuevamente. Luego promueve gen 0 a gen 1 y gen 1 a gen 2, solo para encontrar que gen 2 ha excedido el umbral y por lo tanto comprueba gen 2, gen 1 nuevamente, y gen 0 nuevamente?
Todos estos detalles son detalles de implementación internos patentados, varían de implementación a implementación y están sujetos a cambios en cualquier momento. Además, el GC se ejecuta en su propio hilo, por lo que la programación de hilos también es un factor. Si pudieras decir por qué te importa, eso te ayudaría a obtener una mejor respuesta. Si le importa, por ejemplo, porque quiere saber cuándo corre el riesgo de que se produzca una colección costosa en un mal momento, hay formas de averiguarlo * sin * conocer los detalles internos del GC. –
Me importa porque tengo que explicárselo a personas que no conocen la GC por completo y descubrí que simplemente conozco el efecto, pero no sé la causa. Tampoco sé cuáles son los detalles de implementación y cuáles son tales que no tengo que explicarlos. –
Si le preocupa cuándo se inicia el GC, lo está haciendo mal. – leppie