Junior — Middle
Vai vari uzskaitīt Java pastāvošo atsauču tipus un to īpašības?
sobes.tech AI
Atbilde no AI
Java ir pastāv šādi atsauces veidi, kas ietekmē atkritumu savākšanu un atmiņas pārvaldību:
-
Stipra atsauce (Strong Reference)
- Parastā atsauce, ko izmanto pēc noklusējuma.
- Objekts ar stipru atsauci netiks izdzēsts no atkritumu savācēja.
-
Mīksta atsauce (Soft Reference)
- Izmanto kešatmiņai.
- Objekti ar mīkstām atsaucēm tiek dzēsti tikai tad, ja ir trūkums atmiņā.
- Klase:
java.lang.ref.SoftReference
-
Vāja atsauce (Weak Reference)
- Objekti ar vājām atsaucēm tiek dzēsti nākamajā atkritumu savākšanas ciklā, ja nav stipru atsauču.
- Izmanto vāju kešatmiņu īstenošanai.
- Klase:
java.lang.ref.WeakReference
-
Fantom atsauce (Phantom Reference)
- Izmanto, lai uzraudzītu brīdi, kad objekts ir gatavs dzēšanai.
- Neļauj iegūt objektu ar
get()metodi (atgriež null). - Izmanto resursu tīrīšanas precīkai kontrolei.
- Klase:
java.lang.ref.PhantomReference
Piemērs, kā izveidot vāju atsauci:
import java.lang.ref.WeakReference;
String stiprs = jauns String("Hello");
WeakReference<String> vags = jauns WeakReference<>(stiprs);
stiprs = null; // tagad objekts ir pieejams tikai caur vāju atsauci
String vērtība = vags.get(); // var atgriezt null, ja objekts jau ir savākts