Skip to main content

Vad är en mjuk referens?

i Java Kodande språk, referenser görs ständigt till objekt, strängar och variabler, även om programmeraren inte är medveten om dessa referenser.Dessa referenser kommunicerar direkt med skräpsamlaren, en funktion som samlar onödig information och kastar den bort så att den inte längre tar upp minnet.Som standard är alla referenser starka referenser och är inställda utan kodning, vilket innebär att de inte släpps till skräpsamlaren.En mjuk referens gör det möjligt att kasta data.Det är referensen på medelnivå för alla icke-starka referenser.

När en programmerare gör något med Java , vare sig det är så enkelt som att göra en sträng eller skapa komplexa funktioner, görs en referens.Programmeraren behöver inte skriva ett referenskommando;Referensen görs automatiskt och är som standard en stark referens.Detta innebär att data från referensen inte kan kastas bort, eftersom de är kopplade till integrerade objekt som behövs för hela skriptet.

Vissa data måste dock kastas bort, eftersom de annars tar mycket minne.Till exempel, om en programmerare bygger ett skript där serienummer används eller andra tillfälliga informationsdelar samlas in eller skapas, blir det skadligt att hålla fast vid denna information.Java Programmet skulle vägra att kasta bort informationen, även när den är onödigt, och skriptet skulle behöva mer och mer minne för att fungera.

genom att ange en sträng eller en sektion som en mjuk referens, som måste placeras i kodningen, dettaBerättar för skräpsamlaren att uppgifterna kan släppas.När den har släppts kommer strängen eller avsnittet att läsa som noll.Skräpsamlaren, beroende på dess inställning, kommer att avgöra när uppgifterna ska kastas ut.

Det finns tre icke-starka referenser: mjuk referens, svag referens och fantomreferens.Den svaga referensen är den svagaste och dess data kastas snabbt bort.Mjuka referenser, som är bäst för skript där tillfälliga data kan användas flera gånger, är nästa i rad.En fantomreferens kastas nästan automatiskt, inom en sekund och bör användas sparsamt.

Den tid som en mjuk referens kvarstår beror vanligtvis på mängden minne i datorn.Om minnet är fullt, kommer soporsamlaren först att förstöra alla svaga referenser.När alla svaga referenser är borta, och om minnet fortfarande behöver rensa data, kommer mjuka referenser att kastas ut nästa.