Sens de la “classe de Déchargement” messages
N'importe qui peut expliquer pourquoi les lignes ci-dessous apparaissent dans la sortie de la console au moment de l'exécution ?
(une réponse possible serait plein permGen, mais cela peut être écartée, car le programme utilise uniquement 24MO de la max100MB disponible dans PermGen)
[Déchargement classe soleil.de réfléchir.GeneratedSerializationConstructoraccessor28]
[Déchargement classe soleil.de réfléchir.GeneratedSerializationConstructoraccessor14]
[Déchargement classe soleil.de réfléchir.GeneratedSerializationConstructoraccessor4]
[Déchargement classe soleil.de réfléchir.GeneratedMethodAccessor5]
[Déchargement classe soleil.de réfléchir.GeneratedSerializationConstructoraccessor38]
[Déchargement classe soleil.de réfléchir.GeneratedSerializationConstructoraccessor36]
[Déchargement classe soleil.de réfléchir.GeneratedSerializationConstructoraccessor22]
[Déchargement classe soleil.de réfléchir.GeneratedSerializationConstructoraccessor8]
[Déchargement classe soleil.de réfléchir.GeneratedSerializationConstructoraccessor39]
[Déchargement classe soleil.de réfléchir.GeneratedSerializationConstructoraccessor16]
[Déchargement classe soleil.de réfléchir.GeneratedSerializationConstructoraccessor2]
[Déchargement classe soleil.de réfléchir.GeneratedConstructorAccessor1]
Le programme s'exécute avec le suivant params:
-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.journal
Il ya beaucoup d'espace dans le tas et dans le permGen.
Vous devez vous connecter pour publier un commentaire.
Ces classes tenir comme softreferences qui sont toujours admissibles pour le GC. Le GC n'est pas en soi seulement exécuter lorsque la mémoire max est atteint, il sera également exécuter quand il y a de la place pour ça, si vous comprenez ce que je veux dire.
Ces classes sont par le moyen "sous le capot" de la Sérialisation de l'API qui utilise la réflexion pour accéder aux champs et appeler des méthodes.
Mise à jour: pour ce qui est de la connexion la classe de déchargement sur la sortie standard au lieu du chemin, comme spécifié dans
-Xloggc
, il y a eu un rapport de bogue pour exactement ce problème: Bug ID 6637203. Cela a été fixée à 4 mois. Mise à niveau de votre JVM à la dernière.-verbosegc
argument. Comment êtes-vous de l'exécution de la JVM? Quels arguments avez-vous (ou IDE) utiliser? Cela ne devrait pas avoir d'impact sur les performances. Le GC généralement ne fonctionne que quand il ya de la place pour (c'est à dire la JVM n'a rien d'autre à faire) ou au dernier moment, quand max mem est atteint. Ces journaux ne sont utiles que pour les/des fins de débogage.