Foros del Web » Programación para mayores de 30 ;) » Java »

Ayuda con WeakHashMap

Estas en el tema de Ayuda con WeakHashMap en el foro de Java en Foros del Web. Hola a tod@s, tengo una duda con el funcionamiento de la clase WeakHashMap de Java 6.0, a ver si alguien que haya trabajado con ella ...
  #1 (permalink)  
Antiguo 27/04/2010, 01:43
 
Fecha de Ingreso: abril-2010
Mensajes: 4
Antigüedad: 14 años
Puntos: 0
Ayuda con WeakHashMap

Hola a tod@s, tengo una duda con el funcionamiento de la clase WeakHashMap de Java 6.0, a ver si alguien que haya trabajado con ella me puede ayudar:

Es cierto que la inclusión de un objeto como clave de una instancia de la clase WeakHashMap impide automáticamente que el objeto sea reclamado por el garbage collector??

Gracias y salu2.
  #2 (permalink)  
Antiguo 27/04/2010, 06:27
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 6 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.
__________________
Apuntes Java
Wiki de Programación
  #3 (permalink)  
Antiguo 29/04/2010, 15:09
 
Fecha de Ingreso: abril-2010
Mensajes: 4
Antigüedad: 14 años
Puntos: 0
Respuesta: Ayuda con WeakHashMap

Gracias por responder.
Encontré una web muy interesante donde hacen una comparación entre un HashMap y un WeakHashMap.
El link es: http://xnoccio.com/306-java-implementacion-de-una-cache-con-referencias-debiles

Salu2.

Última edición por NeoXhk; 30/04/2010 a las 01:59
  #4 (permalink)  
Antiguo 30/04/2010, 00:37
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Respuesta: Ayuda con WeakHashMap

Dependiendo de lo que uno quiera hacer, no es mala idea seguir el consejo que pone como comentario batch4j en el artículo y usar una caché propia con SoftReferences en lugar de un WeakHashMap.
Como por ejemplo propone este artículo: http://www.greeneyed.org/guide/stati...tReferences.do

S!
__________________
Para obtener respuestas, pregunta de forma inteligente o si no, pregunta lo que quieras que yo contestaré lo que me dé la gana.
  #5 (permalink)  
Antiguo 30/04/2010, 08:02
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 6 meses
Puntos: 454
Respuesta: Ayuda con WeakHashMap

@GreenEyed, ¿vuelve el rincón de java? ¡¡ me alegro !!

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #6 (permalink)  
Antiguo 30/04/2010, 10:16
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Respuesta: Ayuda con WeakHashMap

El Rincon volvió aunque no se por cuanto tiempo. La comunidad sigue colaborando lo mismo y yo tengo menos tiempo gracias a una familia ampliada, así que hasta que me canse .

Para ser sincero, si sigue es por que uso la aplicación de conejillo de indias para mis experimentos con nuevas tecnologías. La siguiente versión parece que toca Groovy + JPA, aunque ya veremos .
__________________
Para obtener respuestas, pregunta de forma inteligente o si no, pregunta lo que quieras que yo contestaré lo que me dé la gana.

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:19.