En informática , la memoria inalcanzable es un bloque de memoria asignado dinámicamente donde el programa que asignó la memoria ya no tiene ningún puntero accesible que se refiera a ella. De manera similar, un objeto inalcanzable es un objeto asignado dinámicamente que no tiene ninguna referencia accesible a él. De manera informal, la memoria inalcanzable es una memoria dinámica a la que el programa no puede llegar directamente, ni puede hacerlo comenzando en un objeto al que puede llegar directamente y luego siguiendo una cadena de referencias de puntero.
En las implementaciones de asignación de memoria dinámica que emplean un recolector de basura , los objetos se reclaman después de que se vuelven inalcanzables. El recolector de basura puede determinar si un objeto es accesible; cualquier objeto que se determine que ya no es accesible puede ser desasignado. Muchos lenguajes de programación (por ejemplo, Java , C # , D , Dylan ) utilizan la recolección automática de basura.
Por el contrario, cuando la memoria se vuelve inalcanzable en implementaciones de asignación de memoria dinámica que requieren una desasignación explícita, la memoria ya no se puede desasignar explícitamente . La memoria inalcanzable en los sistemas que utilizan la gestión de memoria manual da como resultado una pérdida de memoria .
Algunos recolectores de basura implementan referencias débiles . Si un objeto es accesible solo a través de referencias débiles o cadenas de referencias que incluyen una referencia débil, se dice que el objeto esdébilmente alcanzable . El recolector de basura puede tratar ungráfico de objeto dedifícil accesocomo inalcanzable y desasignarlo. (Por el contrario, las referencias que evitan que un objeto se recolecte como basura se denominanreferencias fuertes; un objeto débilmente alcanzable es inalcanzable por cualquier cadena que consta solo de referencias fuertes). Algunoslenguajesorientados a objetosrecolectados de basura, comoJavayPython, tienen características débiles referencias. Elpaquete Java java.lang.ref
admite referencias suaves, débiles y fantasmas, lo que da como resultado estados de accesibilidad de objetos adicionales fácilmentealcanzablesyfantasmas alcanzables.
La memoria inalcanzable a menudo se asocia con el envejecimiento del software .
enlaces externos
- Nicholas, Ethan (4 de mayo de 2006). "Comprensión de las referencias débiles" . java.net . Archivado desde el original el 19 de agosto de 2010 . Consultado el 1 de octubre de 2010 . Enlace externo en
|publisher=
( ayuda )