Bedeutung der "Entladeklasse" Nachrichten
Jemand erklären können, warum die folgenden Zeilen angezeigt werden in der Ausgabe-Konsole zur Laufzeit ?
(eine mögliche Antwort wäre voll der permGen, dies kann aber ausgeschlossen werden, da das Programm nur verwendet 24MB aus der max100MB erhältlich in der PermGen)
[Unloading class sun.reflektieren.GeneratedSerializationConstructoraccessor28]
[Unloading class sun.reflektieren.GeneratedSerializationConstructoraccessor14]
[Unloading class sun.reflektieren.GeneratedSerializationConstructoraccessor4]
[Unloading class sun.reflektieren.GeneratedMethodAccessor5]
[Unloading class sun.reflektieren.GeneratedSerializationConstructoraccessor38]
[Unloading class sun.reflektieren.GeneratedSerializationConstructoraccessor36]
[Unloading class sun.reflektieren.GeneratedSerializationConstructoraccessor22]
[Unloading class sun.reflektieren.GeneratedSerializationConstructoraccessor8]
[Unloading class sun.reflektieren.GeneratedSerializationConstructoraccessor39]
[Unloading class sun.reflektieren.GeneratedSerializationConstructoraccessor16]
[Unloading class sun.reflektieren.GeneratedSerializationConstructoraccessor2]
[Unloading class sun.reflektieren.GeneratedConstructorAccessor1]
Läuft das Programm mit dem folgenden Parameter:
-Xmx160M
-XX:MaxPermSize=96M
-XX:PermSize=96M
-XX:+UseConcMarkSweepGC
-XX:+UseParNewGC
-XX:+PrintGCTaskTimeStamps
-XX:+PrintHeapAtGC
-XX:+PrintTenuringDistribution
-XX:+PrintGCDetails
-XX:+PrintGCDateStamps
-XX:+PrintGCTimeStamps
-verbose:gc
-Xloggc:/logs/gc.melden Sie
Gibt es genügend Speicherplatz im heap und permGen.
InformationsquelleAutor der Frage Eleco | 2010-05-14
Du musst angemeldet sein, um einen Kommentar abzugeben.
Diese Klassen sind halt wie softreferencesdie sind immer berechtigt für GC. Die GC nicht per se nur ausgeführt werden, wenn die max-Speicher ist erreicht, es wird auch ausgeführt, wenn Platz dafür ist, wenn Sie verstehen, was ich meine.
Diese Klassen werden durch die Art und Weise verwendet "unter den Hauben" von der Serialisierung-API, die verwendet reflektion, um Zugriff auf Felder und Methoden aufgerufen werden.
Update: Protokollierung die Klasse entladen auf stdout aus, anstatt den Pfad wie angegeben in
-Xloggc
es wurde ein bugreport für genau dieses problem: Bug ID 6637203. Das wurde korrigiert 4 Monate zurück. Aktualisieren Sie Ihre JVM auf dem neuesten Stand ist.InformationsquelleAutor der Antwort BalusC