Java "Toten" Objekte, die nicht von der garbage Collection eingesammelt

Ich weiß, dass während der garbage collection in Java, Objekte, die nicht mehr alle Verweise auf diese sind gekennzeichnet als "tot", so dass Sie gelöscht werden können aus dem Speicher durch den garbage collector.

Meine Frage ist, wenn während eines garbage-collection-phase, alle "Toten" Objekte aus dem Speicher gelöscht oder einige von Ihnen überleben? Warum würde ein "Totes" Objekt, überleben ein garbage-collection-phase?

SPÄTER BEARBEITEN

Danke für all Eure Antworten. Kann ich daraus schließen, dass der Hauptgrund, warum die "Toten" Objekte nicht gelöscht werden, ist aufgrund von timing-oder Abstand Einschränkungen der Art, die der Garbage Collector arbeitet.
Jedoch, vorausgesetzt, dass der Garbage Collector erreichen kann alle "Toten" Objekte, ich Frage mich, ob es ist ein Weg, zu erklären, verweisen, verwenden, dereferenzieren, etc.. ein Objekt, dass irgendwie es würde überspringen Sie die Löschung phase, obwohl es "tot". Ich dachte, vielleicht Objekte gehören zu Klassen, die statische Methoden oder inneren Klassen oder so etwas wie, dass kann im Speicher gehalten, aus irgendeinem Grund, obwohl Sie keine Verweise auf Sie.
Ist so ein Szenario möglich?

Danke

Warum sollte ein tote - Objekt überleben nach der garbage collection ist fertig. Genau. Wäre es nicht. Das problem dort ist ein Kriterium, wenn die JVM ausgeführt wird, GC, unmittelbar nach, es wäre;t ein Totes Objekt.
Es ist nicht genau über refcounting - "Inseln" werden Objekte gesammelt zu haben. Nishant ist Recht - tot Objekte gesammelt. Zeit
seine leicht möglich als ein Objekt kommen für GC übersteht GC. Besonders bei generational GC: wenn ein Objekt im tenure-Raum wird kommen, und die JVM führt eine GC in den eden space, dann ist die anrechenbare Objekt noch nachträglich.
über die edit: was würdest du tun, w/ ein Objekt, das tot ist (d.h. keine Verweise) zu halten, im Gedächtnis. Wenn das Objekt nicht erreichbar, es gibt keinen Punkt, bleiben in der Erinnerung. Sie können die Verwendung von java.lang.ref.WeakReferences und die gerne wenn Sie wollen auf ein Objekt verweist, und es kann immer noch gesammelt werden.
Es war mehr eine Neugier, ich dachte, vielleicht ein Objekt könnte in Erinnerung bleiben, falls es einige Besondere Art von Methoden, oder Sie werden für einen besonderen Zweck. Ausgehend von all diesen Antworten, denke ich nicht 🙂 Danke für all Eure Kommentare

InformationsquelleAutor Victor Blaga | 2011-03-18

Schreibe einen Kommentar