Sobes.tech
Junior — Middle

Môžete vysvetliť, na čo slúži a ako sa používa trieda WeakReference v Jave?

sobes.tech AI

Odpoveď od AI

Trieda WeakReference v jazyku Java sa používa na vytváranie slabých odkazov na objekty. Na rozdiel od silných odkazov, slabé odkazy nebránia zberu odpadu: ak je objekt dostupný iba prostredníctvom slabých odkazov, môže byť odstránený zberačom odpadu.

Toto je užitočné napríklad pri kešovaní, keď je potrebné uchovávať objekty, ale nechceme im brániť v odstránení pri nedostatku pamäte. V Androide sa WeakReference často používa na uchovávanie odkazov na Context alebo Activity, aby sa predišlo únikom pamäte.

Príklad použitia:

WeakReference<MyObject> weakRef = new WeakReference<>(new MyObject());
MyObject obj = weakRef.get();
if (obj != null) {
    // objekt je ešte dostupný
} else {
    // objekt bol odstránený zberačom odpadu
}