Ich vermute, das ist nicht möglich ... aber hier geht. Mein Verständnis ist, dass eden Raum billiger zu sammeln ist als alter Raum, vor allem, wenn Sie beginnen, in sehr großen Haufen zu kommen. Große Heaps neigen dazu, mit lang laufenden Anwendungen (Server-Apps) zu kommen und Server-Apps wollen oft eine Art von Caches verwenden. Caches mit einer Art Räumung (LRU) neigen dazu, einige Annahmen zu besiegen, die GC macht (temporäre Objekte sterben schnell). Durch Cache-Räumungen werden alte Gene schneller aufgefüllt, als Sie möchten, und Sie haben eine teurere alte Gen-Sammlung.JVM GC degote Objekt zu eden Raum?
Nun scheint es, als könnte diese Art von Ding vermieden werden, wenn Java eine Möglichkeit bietet, eine Referenz als kurz vor dem Sterben zu markieren (Stichwort löschen)? Der Unterschied zwischen diesem und C++ ist, dass die Verwendung optional ist. Und das Löschen löscht das Objekt nicht wirklich, sondern ist ein Hinweis für den GC, dass es das Objekt zurück in den Eden-Raum zurückstufen soll (wo es leichter gesammelt werden kann). Ich vermute, dass diese Funktion nicht existiert, aber warum nicht (gibt es einen Grund, dass es eine schlechte Idee ist)?
+1 weil ich wie GC-Fragen. Sie sind hart. –