我有一个正在运行的jvm进程,我想要一个工具来获取由jvm加载的类,是否有一个?
答案 0 :(得分:12)
您可以使用jmap -histo <PID>
它将显示已加载类的直方图,包括类名,实例数,大小等
答案 1 :(得分:4)
jinfo <pid>
将为您提供相当多的信息,包括路径中的类路径和jar。 见here
jinfo命令可能受授予运行该命令的主体的权限的限制。该命令仅列出原则具有访问权限的JVM,具体取决于操作系统特定的访问控制机制。
另请注意,jinfo在Windows或Linux itanium上不。
答案 2 :(得分:3)
您可以在命令行中使用以下内容
java -verbose:class ....
并且JVM将转储它正在加载的内容,包括其所有位置
答案 3 :(得分:1)
尝试使用visual VM。它是免费的,但不与JRE / JDK一起发布,但您可以从官方oracle网站下载。您也可以进行堆转储,而不是通过JDK的标准工具查看它。
答案 4 :(得分:0)
如果进程有JMX enabled,那么您可以使用jvisualvm
(与JDK捆绑在一起)来检查这些属性。