Junior — Middle
Kun je de typen referenties die in Java bestaan en hun kenmerken opsommen?
sobes.tech AI
Antwoord van AI
In Java bestaan de volgende typen referenties die invloed hebben op garbage collection en geheugenbeheer:
-
Sterke Referentie (Strong Reference)
- De standaardreferentie die we gebruiken.
- Een object met een sterke referentie wordt niet verwijderd door de garbage collector.
-
Zachte Referentie (Soft Reference)
- Gebruikt voor caching.
- Objecten met zachte referenties worden alleen verwijderd bij geheugentekort.
- Klasse:
java.lang.ref.SoftReference
-
Zwakke Referentie (Weak Reference)
- Objecten met zwakke referenties worden verwijderd bij de volgende garbage collection-cyclus, als er geen sterke referenties zijn.
- Gebruikt voor het implementeren van zwakke caches.
- Klasse:
java.lang.ref.WeakReference
-
Fantom Referentie (Phantom Reference)
- Gebruikt om het moment te volgen waarop een object klaar is voor verwijdering.
- Laat niet toe om het object te verkrijgen via de
get()-methode (retourneert null). - Wordt gebruikt voor fijnmazigere controle van resource cleanup.
- Klasse:
java.lang.ref.PhantomReference
Voorbeeld van het maken van een zwakke referentie:
import java.lang.ref.WeakReference;
String sterk = new String("Hello");
WeakReference<String> zwak = new WeakReference<>(sterk);
sterk = null; // nu is het object alleen nog toegankelijk via de zwakke referentie
String waarde = zwak.get(); // kan null teruggeven als het object al is verzameld