Skip to main content

Hva er en myk referanse?

I Java Kodingsspråk, referanser blir 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 den mellomnivåreferansen 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 er nødvendige for hele skriptet.

Noen data må kastes, men 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 forteller 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 kastet 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 vanligvis avhenger 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.