Skip to main content

Co je slabý odkaz?

Slabý odkaz je odkaz na objekt v paměti, který nebrání objektu, aby byl objekt vyčištěn rutinami sběru odpadků kvůli jeho spojení s objektem.Tento typ reference se běžně používá k eliminaci úniku paměti, pokud existují zvláštní podmínky, které zabraňují tomu, aby se došlo k normálnímu sběru odpadků.Programovací algoritmy, které používají slabé odkazy, používají kruhový odkaz nebo drží cizí informace ve výhodách mezipaměti nebo speciální struktury.Využití slabých odkazů v těchto typech situací umožňuje vyčištění nevyužitých referenčních objektů a jejich přidružených slabých odkazů.

V počítačovém programování je silná odkaz obvykle vytvořen výchozím nastavením, když je vytvořen objekt, a paměť obsazená dostupnostíObjekt zůstává přidělen, pokud silný odkaz zůstává životaschopný.Silný odkaz se stává zrušen a její přidružené objekty se uvolní krátce po silném odkazu a jeho objekt je označen jako již nepoužívání programu.V určitých situacích, jako je programování soketu nebo aplikace pro manipulaci s obrazem, třídy používané k vytváření pracovních objektů nemají vestavěnou kapacitu pro ukládání dalších informací, které je nutné konkrétní aplikací.Další podrobnosti pro přechodné objekty, jako jsou připojení nebo obrázky, musí být uloženy v doplňkových objektech mezipaměti a propojeny s přechodnými objekty odkazy.Pokud je místo silného odkazu použita slabý odkaz, další informace nejsou vázány odkazem a mohou být odstraněny z mezipaměti sběratelem odpadků, jakmile je referenční objekt označen jako neživatelný.

Slabé referenční třídy jsou normálněK dispozici v jazycích, které jsou rozšířeny subsystémy sběru odpadků, včetně Java, Pythonu, Perl, C#a .NET Framework.V C ++ jsou však programátoři obvykle zodpovědní za zajištění čištění paměti.Tento jazyk implementoval třídu inteligentních ukazatelů, která poskytuje některé ze stejných funkcí, které poskytují slabé odkazy a sběr odpadu, což pomáhá snižovat úniky paměti způsobené nesprávným vyčištěním ukazatele.Posílit funkčnost jazyka poskytováním jemnějších gradientů odkazů jiných než silný nebo slabý odkaz.Do těchto jazyků mohou být zahrnuty typy dat, jako jsou měkké odkazy a fantomové odkazy, což umožňuje různé úrovně zachycení objektu nebo oznámení o deallokaci.Programátoři, kteří používají jazyky s automatizovaným sběrem odpadků