Suponiendo que desreferenciado quiere decir perder el último puntero que estaba en el código en ejecución: se reduce un poco de sobrecarga de administración de memoria para cada objeto llamado recuento de referencia , y cuando llega a 0, el objeto queda disponible para el recolector de basura del sistema . Esto significa que Java puede estar seguro de que, cuando finaliza un ámbito determinado, todos los objetos cuyas referencias pertenecían a él y, por lo tanto, desaparecieron, tienen sus destructores en ejecución y se limpian de la memoria.
(Por supuesto, el código debería hacer estas disposiciones por sí mismo: es un error en el algoritmo el asignar objetos que luego olvida desechar. Pero al menos el sistema Java no es vulnerable a perder memoria disponible por la acumulación de basura debido a estos loco.)
El recolector de basura está realmente disponible para el código como System.gc (); (suponiendo que no haya cambiado en las versiones desde que estaba haciendo esto). Esto no hace que el recopilador se ejecute directamente, porque cuando eso sucede lo decide el sistema de tiempo de ejecución, pero aumenta la preparación del sistema para ejecutarlo. He visto código de muestra donde System.gc (); se llama 3 veces seguidas para intentar insinuar al sistema que ahora sería un buen momento para hacerlo.
Tenga en cuenta que, técnicamente, desreferenciar significa tomar la referencia (puntero) al objeto (que en Java es el nombre del objeto mismo) y seguir esa referencia para obtener el objeto en sí. Técnicamente no significa eliminar referencias al objeto, por razonable que parezca.
- ¿Por qué los recuerdos más antiguos son los últimos que se pierden para las personas que desarrollan amnesia retrógrada?
- La gente dice que deberíamos perdonar / ‘dejarlo ir’, generalmente en lo que respecta a un evento pasado que nos afecta negativamente, pero parece que no hay forma de que ordenemos a nuestros cerebros a hacer esto. ¿Por qué no podemos hacer que nuestros cerebros hagan lo que queremos?
- Cómo memorizar un diccionario
- ¿Cuáles son algunos buenos trucos para recordar los gráficos de trigonometría inversa?
- Cómo olvidar las cosas que tanto lamento