2009-07-09 18 views
2

Ich habe einige Java-Code, der aus Speicherausnahmen nach dem Ausführen für eine Weile wirft. Ich habe den Netbeans Profiler untersucht, und wenn ich eine bestimmte Operation mache, geht die Surviving Generations Metric hoch. Wenn ich jedoch den Programmstatus zurücksetze (nicht abbringe), wird die überlebende Generationsmetrik nicht verringert.Netbeans Speicherverwaltung

Warum nimmt der Messwert der überlebenden Generationen nicht ab?

Antwort

0

Run unter 1.6 sah, und verwenden Sie die Java VisualVM (jvisualvm).

Wählen Sie Ihren Prozess, klicken Sie mit der rechten Maustaste und wählen Sie Heap Dump.

Lassen Sie es eine Weile laufen und nehmen Sie einen anderen Heap-Dump.

Verwenden Sie dann Datei> Vergleiche Speicher-Snapshots, um die beiden Speicherauszüge zu vergleichen.

0

Ich habe das gleiche Problem hier, aber nur für den Fall, dass ich einen JUnit-Test profiliere - überlebende Generationen wachsen linear. Wenn ich denselben Code in der Hauptmethode ausführe, verhält sich der Code wie erwartet.