VisualVMはそれを本当に素晴らしくします、それぞれの完全なメインクラス名は左側のサイドバーナビゲーションに表示されます。これらの名前はどのように取得されますか?Attach APIは、実行中のすべてのJVMに表示名を提供しますが、一部の表示名は少し肥大化しているように見えます。たとえば、Eclipse:
C:\Program Files\Eclipse\plugins/org.eclipse.equinox.launcher_1.1.0.v20100507.jar -os win32 -ws win32 -arch x86_64 -showsplash -launcher C:\Program Files\Eclipse\eclipse.exe -name Eclipse --launcher.library C:\Program Files\Eclipse\plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.1.R36x_v20100810\eclipse_1309.dll -startup C:\Program Files\Eclipse\plugins/org.eclipse.equinox.launcher_1.1.0.v20100507.jar -exitdata 1084_58 -product org.eclipse.epp.package.jee.product -vm C:\Windows\system32\javaw.exe -vmargs -Dosgi.requiredJavaVersion=1.5 -Xms40m -Xmx512m -XX:MaxPermSize=256m -jar C:\Program Files\Eclipse\plugins/org.eclipse.equinox.launcher_1.1.0.v20100507.jar
VisualVMがそれを短縮するところ:org.eclipse.equinox.launcher.Main
彼らはどのようにそれを取得しますか?現在のJVMから、すべてのスレッドのメインクラスを簡単に取得できます。