Junior — Middle
Kas on pehme viide Java mäluhalduse kontekstis?
sobes.tech AI
Vastus AI-lt
Java-s SoftReference on tüüpi viide, mis võimaldab objekti koguda prügikorjaja, kui süsteemi mälu on ebapiisav, kuid samal ajal säilib objekt seni, kuni mälu on piisavalt.
See on kasulik vahemälu jaoks: pehmed viitedega objektid ei eemaldata kohe, vaid ainult siis, kui on vaja vabastada mälu.
Näide pehme viite kasutamisest:
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; // nüüd on objekt saadaval ainult pehme viitega
Object obj = softRef.get();
if (obj != null) {
System.out.println("Objekt on saadaval");
} else {
System.out.println("Objekt on kogutud prügikorjaja poolt");
}
}
}