Was löst eine vollständige Speicherbereinigung in Java aus?

Frage ich mich, was sind genau die Situationen, die Auslöser der Vollständige Garbage Collection in Java.

Den offensichtlichen sind:

  • Läuft aus der alten gen
  • Läuft die perm gen
  • Aufrufenden System.gc()

Was ist mit anderen Fällen, die Ursache full gc? Vor allem:

  • Nicht genug freier Speicherplatz im Survivor-Raum zum kopieren von Objekten von Eden.
  • Kleinere Sammlungen nicht in der Lage zu bewältigen mit der Zuteilung Anzahl der neuen Objekte (weiß nicht, wie, wenn).

Ich bin mit Sun Java 1.6 und mit Concurrent-Mark-Sweep und ParNew für die neue gen.

InformationsquelleAutor der Frage Paweł Krupiński | 2012-03-03

Schreibe einen Kommentar