Hva er en myk referanse?

På Java® -kodingsspråket blir det stadig henvist til objekter, strenger og variabler, selv om programmereren ikke er klar over disse referansene. Disse referansene kommuniserer direkte med søppelsamleren, en funksjon som samler unødvendig informasjon og kaster den bort slik at den ikke lenger tar opp minnet. Som standard er alle referanser sterke referanser og er satt uten koding, noe som betyr at de ikke blir gitt ut til søppelkollektoren. En myk referanse gjør at dataene kan kastes. Det er referansen på mellomnivå for alle ikke-sterke referanser.

Når en programmerer gjør noe med Java®, det være seg så enkel som å lage en streng eller lage komplekse funksjoner, blir det gjort en referanse. Programmereren trenger ikke å skrive en referansekommando; Henvisningen blir gjort automatisk og er som standard en sterk referanse. Dette betyr at dataene fra referansen ikke kan kastes, fordi de er koblet til integrerte objekter som trengs for hele skriptet.

noenData må imidlertid kastes bort fordi de ellers tar opp mye minne. For eksempel, hvis en programmerer bygger et skript der serienumre brukes eller andre midlertidige opplysninger blir samlet inn eller opprettet, blir det skadelig. Java® -programmet ville nekte å kaste bort informasjonen, selv når den er unødvendig, og manuset vil trenge mer og mer minne for å fungere.

Ved å spesifisere en streng eller seksjon som en myk referanse, som må plasseres i kodingen, forteller dette søppelkollektoren at dataene kan frigjøres. Når den er utgitt, vil strengen eller delen lese som "Null". Garbage Collector, avhengig av innstillingen, vil avgjøre når dataene skal kastes ut.

Det er tre ikke-sterke referanser: myk referanse, svak referanse og fantomreferanse. Den svake referansen er den svakeste, og dataene blir kastetbort raskt. Myke referanser, som er best for skript der midlertidige data kan brukes flere ganger, er neste på linje. En fantomreferanse blir kastet nesten automatisk, i løpet av et sekund, og bør brukes sparsomt.

Hvor lang tid en myk referanse gjenstår, avhenger vanligvis av mengden minne i datamaskinen. Hvis minnet er fullt, vil søppelsamleren først ødelegge alle de svake referansene. Når alle de svake referansene er borte, og hvis minnet fremdeles trenger å rense data, blir myke referanser kastet ut neste.

ANDRE SPRÅK