Wir haben eine unserer Anwendungen von Java 1.4 auf Java 6.Garbage Collection-Änderung von Java 1.4 zu Java 6?
Bei einigen Last & Performance-Tests beobachteten wir, dass verfügbare Speicher im allgemeinen blieb bei wesentlich geringeren Mengen in Java 6 als auf das, was es vor kurzem ein Upgrade verwendet mit Java 1.4.
Nach einigen Profilerstellung in der App mit Java 6, haben wir festgestellt, dass viele Objekte nicht mehr durch andere Objekte referenziert (d. H. Kandidaten für Garbage Collection) im Speicher blieben und anscheinend nie Müll gesammelt wurden. Wir haben das als Erklärung für das niedrigere verfügbare Gedächtnis genommen.
Frage ist: Hat sich die Art und Weise verändert Garbage Collection von Java 1.4 zu Java 6 geändert?
Sind Sie sicher, dass die Objekte echte Kandidaten für die Sammlung sind? Werden sie gesammelt, wenn Sie eine Sammlung über JConsole initiieren? –
Java 7 soll noch mehr 'Optimierungen' auf dem Garbage Collector haben. – Steve