Junior — Middle
Можете ли објаснити шта је мека референца у контексту управљања меморијом у Јави?
sobes.tech АИ
Одговор од АИ
U Java-u, SoftReference je tip reference koja omogućava objektu da bude sakupljen od strane garbage collectora ako sistemska memorija nije dovoljna, ali dok postoji dovoljno memorije, objekat ostaje sačuvan.
Ovo je korisno za keširanje: objekti sa soft references se ne brišu odmah, već samo kada je potrebno osloboditi memoriju.
Primer korišćenja soft reference:
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; // sada je objekat dostupan samo putem soft reference
Object obj = softRef.get();
if (obj != null) {
System.out.println("Objekat je dostupan");
} else {
System.out.println("Objekat je već sakupljen od strane garbage collectora");
}
}
}