Capítulo 29. La recogida de basura es tu amiga
Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com
Holly Cummins
La pobre recolección de basura. Uno de los héroes olvidados de Java, a menudo culpado, rara vez alabado. Antes de que Java generalizara la recolección de basura, los programadores no tenían más remedio que rastrear manualmente toda la memoria que habían asignado, y desasignarla cuando ya nada la utilizaba. Esto es difícil. Incluso con disciplina, la desasignación manual es una causa frecuente de fugas de memoria (si se hace demasiado tarde) y de fallos (si se hace demasiado pronto).
A menudo se piensa en la GC (recolección de basura) de Java como un coste necesario, y "reducir el tiempo empleado en la GC" es una orientación común sobre el rendimiento. Sin embargo, la recolección de basura moderna puede ser más rápida que malloc/free, y el tiempo empleado en GC puede acelerarlo todo. ¿Por qué? Los recolectores de basura hacen algo más que retirar memoria: también gestionan la asignación de memoria y la disposición de los objetos en ella. Un buen algoritmo de gestión de la memoria puede hacer que la asignación sea eficiente, reduciendo la fragmentación y la contención. También puede aumentar el rendimiento y reducir los tiempos de respuesta reorganizando los objetos.
¿Por qué la ubicación de un objeto en ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access