Co je to měkká odkaz?
V jazyce kódování Java® se odkazy neustále provádějí na objekty, řetězce a proměnné, i když programátor o těchto odkazech nevědí. Tyto odkazy komunikují přímo s kolektorem odpadků, což je funkce, která shromažďuje nepotřebné informace a vyhodí je, aby již nezabírala paměť. Ve výchozím nastavení jsou všechny odkazy silné odkazy a jsou nastaveny bez jakéhokoli kódování, což znamená, že nejsou uvolněny sběrateli odpadků. Měkký odkaz umožňuje odhození dat. Jedná se o odkaz na střední úrovni pro všechny nelidské odkazy. Programátor nemusí psát referenční příkaz; Odkaz je prováděn automaticky a je ve výchozím nastavení silným odkazem. To znamená, že data z odkazu nelze vyhodit, protože jsou spojena s integrálními objekty potřebnými pro celý skript.
NěkteříData však musí být odhozena, protože jinak zabírají hodně paměti. Například, pokud programátor vytvoří skript, ve kterém se používají sériová čísla nebo jsou shromažďovány nebo vytvořeny jiné dočasné informace, držení těchto informací se stane škodlivým. Program Java® by odmítl vyhodit informace, i když je nepotřebné, a skript by pro fungování potřeboval stále více a více paměti.
Zadáním řetězce nebo sekce jako měkkého odkazu, který je třeba umístit do kódování, to říká sběrateli odpadků, že data mohou být uvolněna. Po uvolnění bude řetězec nebo sekce číst jako „NULL“. Sběratel odpadků v závislosti na jeho nastavení rozhodne, kdy by měla být data vyhozena.
Existují tři netvolné odkazy: Soft Reference, slabý referenční a fantomový odkaz. Slabý odkaz je nejslabší a jeho data jsou hozenarychle pryč. Měkké odkazy, které jsou nejlepší pro skripty, kde mohou být dočasná data použita několikrát, jsou další v řadě. Odkaz na Phantom je během sekundy téměř automaticky odhozen a měl by být používán střídmě.
Délka času měkká reference zůstává obvykle závisí na množství paměti v počítači. Pokud je paměť plná, sběratel odpadků nejprve zničí všechny slabé odkazy. Když jsou všechny slabé odkazy pryč, a pokud paměť stále potřebuje očistit data, budou dále vyhodnoceny měkké odkazy.