Hvad er en blød reference?
I Java® -kodningssproget fremmes der konstant til genstande, strenge og variabler, selvom programmereren ikke er klar over disse referencer. Disse referencer kommunikerer direkte med affaldsopsamleren, en funktion, der samler unødvendige oplysninger og kaster den væk, så den ikke længere tager hukommelsen op. Som standard er alle referencer stærke referencer og er indstillet uden kodning, hvilket betyder, at de ikke frigives til affaldssamleren. En blød reference gør det muligt at smides væk. Det er Mellemniveau-referencen for alle ikke-stærke referencer.
Hver gang en programmør gør noget med Java®, hvad enten det er så simpelt som at lave en streng eller oprette komplekse funktioner, henvises der. Programmereren behøver ikke at skrive en referencekommando; Henvisningen henvises automatisk og er som standard en stærk reference. Dette betyder, at dataene fra referencen ikke kan smides væk, fordi de er knyttet til integrerede objekter, der er nødvendige for hele scriptet.
NogleData skal dog smides væk, fordi de ellers optager en masse hukommelse. For eksempel, hvis en programmør bygger et script, hvor serienumre bruges eller andre midlertidige oplysninger, der er indsamlet eller oprettet, bliver ved at holde fast i disse oplysninger skadelige. Java® -programmet ville nægte at smide informationen væk, selv når de er unødvendige, og scriptet har brug for mere og mere hukommelse for at fungere.
Ved at specificere en streng eller en sektion som en blød reference, der skal placeres i kodningen, fortæller dette affaldssamleren, at dataene kan frigives. Når den er frigivet, læses strengen eller sektionen som "null". Affaldssamleren, afhængigt af dens indstilling, vil beslutte, hvornår dataene skal kastes ud.
Der er tre ikke-stærke referencer: blød reference, svag reference og fantomreference. Den svage reference er den svageste, og dens data kastesvæk hurtigt. Bløde referencer, der er bedst til scripts, hvor midlertidige data kan bruges flere gange, er næste på linje. En fantomreference kastes næsten automatisk, inden for et sekund og bør bruges sparsomt.
Længden af en blød reference forbliver normalt afhænger af mængden af hukommelse på computeren. Hvis hukommelsen er fuld, vil affaldssamleren først ødelægge alle de svage referencer. Når alle de svage referencer er væk, og hvis hukommelsen stadig har brug for at rense data, vil bløde referencer blive kastet ud næste.