Hallo,
wenn ich folgende Anweisungen durchführe...
List<myClass> liste = new List<myClass>();
liste.add(new myClass(a,b,c));
..wird eine neue Instanz von myClass erstellt und nur eine Referenz in der Liste gespeichert - oder?
liste.clear();
Jetzt wird ja die Liste geleert und die Referenz ist futsch, aber was ist mit der Instanz - ist die nun auch aus dem Speicher gelöscht oder kursiert die noch irgendwo rum?
MfG Martin
Hallo,
die Instanz wird so lange deinen Speicher bewohnen, bis der Garbage-Collector sie wegräumt.
Non quia difficilia sunt, non audemus, sed quia non audemus, difficilia sunt! - Seneca
Hallo Martin_Jansen,
richtig, es wir erstmal nur die Referenz gelöscht, allerdings kann spätestens, wenn das die letzte war, der GC zuschlagen, wenn er das nächste mal aufräumt.
herbivore
das heißt ich muss mir hier keine Gedanken darum machen, ob ich nicht den Speicher vollmülle, auch wenn ich die Liste nach einer Löschaktion wieder vollpacke mit neuen Instanzen...
Hallo Martin_Jansen,
nein, du musst dir keine Gedanken machen. Der GC ist ja gerade dafür, dass man sich keine Gedanken mehr darum machen muss.
herbivore