En caso de que el montón esté lleno, la JVM arroja un OutOfMemoryError
. ¿Pero se asegura que una recolección de basura (completa) siempre se lleva a cabo antes de que se produzca tal excepción?¿Está garantizado que el recolector de basura se ejecute antes de que se produzca un error de falta de memoria?
Esto significa que la memoria está llena solo con objetos de referencia fuertes (o accesible por GC Roots) cuando se lanza la excepción.
Editar: Supongamos que Sun JVM - HotSpot está en discusión.
En java, es un "Error de memoria insuficiente" – arshajii
@A. R. S .: De hecho, me di cuenta de esto cuando vi el comentario de la etiqueta 'outofmemoryexception', que hace referencia a .NET. He editado, gracias por el aviso. – m3th0dman
Tengo curiosidad sobre por qué exactamente hace esta pregunta (no quiere decir que no fue razonable, sino para saber qué consideraciones está haciendo) – chiccodoro