Junior — Middle
Quels sont les avantages d'utiliser WeakHashMap et dans quels cas l'utiliser?
sobes.tech IA
Réponse de l'IA
WeakHashMap est une implémentation de Map en Java, où les clés sont stockées à l’aide de références faibles (WeakReference). Cela signifie que si aucune référence forte à la clé n’existe dans le programme, elle peut être collectée par le ramasse-miettes, et l’entrée correspondante sera automatiquement supprimée du map.
Avantages:
- Permet de créer des caches ou des structures associatives qui n’empêchent pas la collecte des clés.
- Évite les fuites de mémoire lorsque les clés ne sont plus nécessaires, mais que des références à elles restent dans le map.
Applications:
- Caching de données, où les clés sont des objets à durée de vie limitée.
- Stockage de métadonnées liées à des objets, sans les maintenir en mémoire.
Exemple:
WeakHashMap<Object, String> cache = new WeakHashMap<>();
Object key = new Object();
cache.put(key, "value");
key = null; // La clé peut maintenant être collectée par le ramasse-miettes
// Après la collecte, l’entrée dans le cache disparaîtra
Ainsi, WeakHashMap est utile lorsque vous souhaitez que la carte ne fasse pas obstacle à la collecte des clés.