Junior — Middle
Pouvez-vous expliquer ce qu'est une référence douce dans le contexte de la gestion de la mémoire en Java ?
sobes.tech IA
Réponse de l'IA
La référence douce (SoftReference) en Java est un type de référence qui permet à un objet d'être collecté par le ramasse-miettes si la mémoire du système est insuffisante, mais l'objet est conservé tant qu'il y a suffisamment de mémoire.
Ceci est utile pour la mise en cache : les objets avec des références douces ne sont pas supprimés immédiatement, mais seulement lorsque la mémoire doit être libérée.
Exemple d'utilisation d'une référence douce :
import java.lang.ref.SoftReference;
public class SoftReferenceExample {
public static void main(String[] args) {
Object strongRef = new Object();
SoftReference<Object> softRef = new SoftReference<>(strongRef);
strongRef = null; // l'objet n'est plus accessible directement
Object obj = softRef.get();
if (obj != null) {
System.out.println("Objet accessible");
} else {
System.out.println("L'objet a été collecté par le ramasse-miettes");
}
}
}