JDK 1.6 viene fornito in bundle con uno strumento pratico chiamato VisualVM che consente di ispezionare e interagire con l'esecuzione di processi Java. Una caratteristica è che rileva automaticamente le JVM in esecuzione sul computer locale. Molti sono elencati come "(pid xxxx)" ma alcuni hanno un nome e un'icona, come VisualVM stesso e altri come NetBeans (vedi lo screenshot in this dzone article per esempio).Come si assegna un nome a VisualVM "<Applicazione sconosciuta>"?
Come si inserisce il nome dell'applicazione e l'icona nella JVM in modo che si visualizzi correttamente nell'elenco delle applicazioni VisualVM? La mia app deve essere in esecuzione JRE 1.6 o posso farlo anche con la versione 1.5?
Ecco un suggerimento che ho appreso guardando LocalVmManager in OpenJDK: l'elenco delle VM locali viene rilevato cercando in $ TMP/hsperfdata_ $ USER /. Ogni file in là è chiamato per il PID della VM. In essa è contenuta la riga di comando come "sun.rt.javaCommand", ma il file per il processo VisualVM non contiene la stringa "VisualVM", quindi non può provenire direttamente da quel file. –