Sobes.tech
Junior — Middle

Kas saak listida Java olemasolevaid viite tüüpe ja nende omadusi?

sobes.tech AI

Vastus AI-lt

Java-s on järgmised viitedüübid, mis mõjutavad prügi kogumist ja mälu haldamist:

  1. Tugev viide (Strong Reference)

    • Tavaline viide, mida kasutame vaikimisi.
    • Objekti, millel on tugev viide, ei eemaldata prügikogujast.
  2. Nõrk viide (Soft Reference)

    • Kasutatakse vahemäluks.
    • Objekte, millel on pehmed viited, eemaldatakse ainult siis, kui mälu on puudulik.
    • Klass: java.lang.ref.SoftReference
  3. Nõrk viide (Weak Reference)

    • Objekte, millel on nõrgad viited, eemaldatakse järgmisel prügikogumise tsüklil, kui ei ole tugevaid viiteid.
    • Kasutatakse nõrkade vahemälude rakendamiseks.
    • Klass: java.lang.ref.WeakReference
  4. Fantomviide (Phantom Reference)

    • Kasutatakse jälgimiseks, millal objekt on valmis eemaldamiseks.
    • Ei võimalda objekti saada get() meetodi kaudu (tagastab null).
    • Kasutatakse ressursside puhastamise täpsemaks kontrollimiseks.
    • Klass: java.lang.ref.PhantomReference

Näide nõrga viite loomisest:

import java.lang.ref.WeakReference;

String tugev = new String("Hello");
WeakReference<String> nõrk = new WeakReference<>(tugev);

tugev = null; // nüüd on objekt kättesaadav ainult nõrga viitega

String väärtus = nõrk.get(); // võib tagastada null, kui objekt on juba kogutud