String alpha = "Dempster Dumpster"; alpha = null; . . .
Die erste Anweisung macht zwei Dinge:
(1) ein Stringobjekt mit den Zeichen "Dempster Dumpster" wird erzeugt.
Dann (2) wird eine Referenz auf dieses Objekt
in der Referenzvariablen alpha
gespeichert.
Die zweite Anweisung weist alpha
den Wert
null
zu.
Wenn das passiert, ist die Referenz auf das Objekt verloren.
Da es nirgends mehr eine Referenz auf das Objekt gibt,
ist es jetzt Ausschuss.
Die durchgezogene Linie in der Box der zweiten Anweisung
symbolisiert den null
-Wert.
Das Objekt existiert noch im Speicher.
Der Speicher aus dem es besteht wird irgendwann
vom Speicherbereinigungsdienst recycelt und
für neue Objekte verfügbar gemacht.
Wir prüfen den (leicht geänderten) Codeschnipsel:
String alpha = "Dempster Dumpster";
String beta = alpha;
alpha = null;
. . .