由jvm加载的类

时间:2011-03-16 09:23:10

标签: java jvm classloader

我有一个正在运行的jvm进程,我想要一个工具来获取由jvm加载的类,是否有一个?

5 个答案:

答案 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捆绑在一起)来检查这些属性。