miércoles, 10 de diciembre de 2008

Recolector de Basura. (Garbage Collector)

Java prove un manejo de memoria automatico mediante el recolector de basura(GC).
Solo la JVM es la que decide cuando llamar al GC, nosotros solo podemos sugerirle que lo haga.
No podemos estar seguros de cual es el algoritmo del GC
Los Objetos deben de ser considerados elegible antes de que sean "tirados" por el GC.
No podemos estar seguros de como funciona el algoritmo del GC
Un objeto es elegible cuando ningun hilo(Thread) vivo puede accesar a el.
Para alcanzar un objeto deben tener una referencia viva que apunte hacia ese objeto.
Las aplicaciones en java pueden quedarse sin memoria disponible.
Haces una peticion al garbage collector con System.gc(); (solo antes de java 6)
La clase objeto tiene un metodo finalize().
El metodo finalize() solamente se ejecuta una vez por objeto, solo una vez jeje por lo mucho.
El GC no garantiza que el metodo finalize de todos los objetos se ejecute, este puede no llamarce nunca.
Puede hacer que un metodo no sea elegible para el garbage collectos si usas el metodo finalize() y este no corre(recordemos que el metodo finalize, te hae caso cuando se le pega la gana).

No hay comentarios: