Dollarzeichen in VisualVM
Frage
Ich versuche, eine Anwendung zu profilieren, und ich habe viele Fälle von Typ sim.core.EndPoint $ 2
Wenn ich diese Instanzen überprüfen ich überprüfen sie nicht vom Typ sim.core.EndPoint sind, scheinen sie eine EndPoint mit ein paar mehr Dinge, die nicht da sein sollte.
Was ist ein Dollarzeichen bedeutet nach dem Namen eines Typs in VisualVM?
Danke.
Lösung
Das heißt, es ist eine anonyme innere Klasse definiert in EndPoint.java.
By the way, Classname $ AnotherName ist eine Konvention für die Angabe innere Klassen in JVM.
Sehen Sie, welche Klassen anonumous tut EndPoint definieren.
Andere Tipps
Es ist sicherlich ein Compiler Artefakt (dir etwas versteckt, aber notwendig, damit dies funktioniert).
Wenn es nicht eine anonyme Klasse ist, kann es die Art und Weise für das anonyme Objekt zu der einschließenden Klasse zu verweisen. Haben Sie letzte Objekte auf der „Außenseite“, die Sie beziehen aus Ihrer anonoymous Klasse?