Skip to main content

Wat is een zachte referentie?

In de Java Codeertaal, referenties worden voortdurend naar objecten, strings en variabelen gemaakt, zelfs als de programmeur zich niet bewust is van die referenties.Deze referenties communiceren rechtstreeks met de afvalcollector, een functie die onnodige informatie verzamelt en deze weggooit zodat het niet langer geheugen in beslag neemt.Standaard zijn alle referenties sterke referenties en zijn ze ingesteld zonder enige codering, wat betekent dat ze niet worden vrijgegeven aan de vuilnisbedelcollector.Met een zachte referentie kunnen de gegevens worden weggegooid.Het is de referentie op het middenniveau voor alle niet-sterke referenties.

Wanneer een programmeur iets doet met Java , zij het zo eenvoudig als het maken van een string of het maken van complexe functies, wordt een referentie gemaakt.De programmeur hoeft geen referentieopdracht te schrijven;De referentie wordt automatisch gemaakt en is standaard een sterke referentie.Dit betekent dat de gegevens van de referentie niet kunnen worden weggegooid, omdat ze zijn gekoppeld aan integrale objecten die nodig zijn voor het hele script.

Sommige gegevens moeten echter worden weggegooid, omdat ze anders veel geheugen op zich nemen.Als een programmeur bijvoorbeeld een script bouwt waarin serienummers worden gebruikt of andere tijdelijke stukjes informatie worden verzameld of gemaakt, wordt vasthouden aan deze informatie schadelijk.De Java reg;programma zou weigeren de informatie weg te gooien, zelfs wanneer deze niet nodig is, en het script zou steeds meer geheugen nodig hebben om te functioneren.

door een string of sectie op te geven als een zachte referentie, die in de codering moet worden geplaatst, ditvertelt de afvalcollector dat de gegevens kunnen worden vrijgegeven.Eenmaal uitgebracht, wordt de tekenreeks of sectie gelezen als NULL.De afvalverzamelaar zal, afhankelijk van de instelling, beslissen wanneer de gegevens moeten worden weggegooid.

Er zijn drie niet-sterke referenties: zachte referentie, zwakke referentie en fantoomreferentie.De zwakke referentie is de zwakste en de gegevens worden snel weggegooid.Zachte referenties, die het beste zijn voor scripts waar tijdelijke gegevens meerdere keren kunnen worden gebruikt, zijn de volgende in de rij.Een fantoomreferentie wordt bijna automatisch binnen een seconde weggegooid en moet spaarzaam worden gebruikt.

De tijdsduur die een zachte referentie blijft hangt meestal af van de hoeveelheid geheugen in de computer.Als het geheugen vol is, zal de afvalcollector eerst alle zwakke referenties vernietigen.Wanneer alle zwakke referenties verdwenen zijn en als het geheugen nog steeds gegevens moet zuiveren, worden zachte referenties daarna weggegooid.