
27/04/2010, 06:27
|
 | Colaborador | | Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 20 años, 4 meses Puntos: 454 | |
Respuesta: Ayuda con WeakHashMap Pues creo que no, precisamente el WeakHashMap sirve para lo contrario.
Si incluyes un objeto como clave en un HashMap normal, el HashMap normal guarda referencia a ese objeto y no lo liberará nunca el recolector de basura, ya que hay al menos una referencia a él (la que tiene el HashMap dentro).
Sin embargo, metiendo el objeto como clave en el WeakHashMap, este no guarda una referencia directa al objeto, por lo que el recolector de basura lo reclamará en cuanto nadie fuera del WeakHashMap guarde una referencia a él (y por tanto nadie pueda pedirle al WeakHashMap ese dato, ya que todo el mundo ha perdido la clave).
Se bueno. |