Was ist eine weiche Referenz?
In der Java® -Codierungssprache werden ständig Referenzen auf Objekte, Zeichenfolgen und Variablen gemacht, auch wenn der Programmierer diese Referenzen nicht bewusst ist. Diese Referenzen kommunizieren direkt mit dem Müllkollektor, einer Funktion, die nicht benötigte Informationen sammelt und sie wegwirft, sodass sie nicht mehr Speicher aufnimmt. Standardmäßig sind alle Referenzen starke Referenzen und werden ohne Codierung festgelegt, was bedeutet, dass sie nicht dem Müllsammler freigegeben werden. Mit einer sanften Referenz können die Daten weggeworfen werden. Es ist die mittlere Referenz für alle nicht starken Referenzen. Der Programmierer muss keinen Referenzbefehl schreiben. Die Referenz erfolgt automatisch und ist standardmäßig eine starke Referenz. Dies bedeutetDaten müssen jedoch weggeworfen werden, da sie sonst viel Gedächtnis in Anspruch nehmen. Wenn ein Programmierer beispielsweise ein Skript erstellt, in dem Seriennummern verwendet werden oder andere temporäre Informationen gesammelt oder erstellt werden, wird das Halten dieser Informationen nachteilig. Das Java® -Programm würde sich weigern, die Informationen wegzuwerfen, selbst wenn es nicht benötigt wird, und das Skript würde immer mehr Speicher benötigen, um zu funktionieren.
Durch Angeben einer Zeichenfolge oder eines Abschnitts als sanfte Referenz, die in der Codierung platziert werden muss, gibt dies dem Müllsammler mit, dass die Daten veröffentlicht werden können. Nach der Veröffentlichung wird der Zeichenfolge oder der Abschnitt als "NULL" gelesen. Der Müllsammler entscheidet je nach Einstellung, wann die Daten ausgeworfen werden sollen.
Es gibt drei nicht starken Referenzen: weiche Referenz, schwache Referenz und Phantomreferenz. Die schwache Referenz ist die schwächste und ihre Daten werden geworfenschnell weg. Weiche Referenzen, die für Skripte am besten geeignet sind, in denen temporäre Daten mehrmals verwendet werden können, stehen als nächstes in der Linie. Eine Phantomreferenz wird fast automatisch innerhalb einer Sekunde weggeworfen und sollte sparsam verwendet werden.
Die Zeitlänge, in der eine weiche Referenz übrig bleibt, hängt normalerweise von der Speichermenge im Computer ab. Wenn das Gedächtnis voll ist, zerstört der Müllsammler zunächst alle schwachen Referenzen. Wenn alle schwachen Referenzen verschwunden sind und der Speicher noch Daten läuten muss, werden weiche Referenzen als nächstes herausgeworfen.