Vad är en mjuk referens?

På Java® -kodningsspråket görs referenser 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.

någraData måste dock kastas, 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ödig, 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, berättar detta för skräpsamlaren att uppgifterna kan släppas. När den har släppts kommer strängen eller avsnittet att läsa som "null". Skräpsamlaren, beroende på dess inställning, kommer att besluta 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 kastassnabbt 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 sopor samlaren 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.

ANDRA SPRÅK

Hjälpte den här artikeln dig? Tack för feedbacken Tack för feedbacken

Hur kan vi hjälpa? Hur kan vi hjälpa?