JDK 1.6 wird mit einem praktischen Tool namens VisualVM geliefert, mit dem Sie laufende Java-Prozesse überprüfen und mit ihnen interagieren können. Eine Funktion ist, dass laufende JVMs auf dem lokalen Computer automatisch erkannt werden. Die meisten sind als "(pid xxxx)" aufgeführt, aber einige haben einen Namen und ein Symbol, wie VisualVM selbst und andere wie NetBeans (siehe Screenshot in this dzone article zum Beispiel).Wie gebe ich einem VisualVM "<Unbekannte Anwendung>" einen Namen?
Wie injiziere ich meinen Anwendungsnamen und mein Symbol in die JVM, damit es in VisualVMs Anwendungsliste richtig angezeigt wird? Muss meine App JRE 1.6 ausführen oder kann ich dies auch unter 1.5 tun?
Hier ist ein Hinweis, den ich gelernt habe, indem ich LocalVmManager in OpenJDK angeschaut habe: Die Liste der lokalen VMs wurde durch das Suchen in $ TMP/hsperfdata_ $ USER/ermittelt. Jede Datei darin wird nach der PID der VM benannt. Darin enthalten ist die Befehlszeile als "sun.rt.javaCommand", aber die Datei für den VisualVM-Prozess enthält nicht die Zeichenfolge "VisualVM", so dass sie nicht direkt aus dieser Datei kommen kann. –