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
}