Sobes.tech
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");
        }
    }
}