Java jvm加载的类

Java jvm加载的类,java,jvm,classloader,Java,Jvm,Classloader,我有一个正在运行的jvm进程,我想要一个工具来获取jvm加载的类,有吗?试试VisualVM。它是免费的,但不随JRE/JDK一起分发,但您可以从oracle官方网站下载。您还可以进行堆转储,然后通过JDK中的标准工具查看它。您可以在命令行中使用以下命令 java -verbose:class .... JVM将转储它正在加载的内容,包括它的所有位置,如果进程有,那么您可以使用jvisualvm(与JDK捆绑在一起)来检查这些属性。jinfo jinfo <pid> 将为您提供

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

试试VisualVM。它是免费的,但不随JRE/JDK一起分发,但您可以从oracle官方网站下载。您还可以进行堆转储,然后通过JDK中的标准工具查看它。

您可以在命令行中使用以下命令

java -verbose:class ....
JVM将转储它正在加载的内容,包括它的所有位置,如果进程有,那么您可以使用jvisualvm(与JDK捆绑在一起)来检查这些属性。

jinfo
jinfo <pid>
将为您提供相当多的信息,包括类路径和路径中的jar。 看

jinfo命令可能受到授予运行该命令的主体的权限的限制。该命令将仅列出原则具有由操作系统特定访问控制机制确定的访问权限的JVM


另外请注意,jinfo在windows或linux安腾上不可用。

您可以使用
jmap-histo


它将显示加载类的柱状图,包括类名、实例数、大小等

VisualVM与(至少)JDK一起分发,不需要手动下载。有很好的选项卡类,但是否可以查看每个类的来源(文件路径等)?有可能吗?没有,很抱歉,如果有,我没有。它会将加载的类放入标准输出,所以会弄乱程序输出,不是吗?那么,我如何将它重定向到其他位置呢?我已经尝试过它(),并注意到,出了什么问题?我已经修改了我的信息。你在窗户上,所以在金佛的时候运气不好。IMHO,使用bot特洛伊木马和Umesha Kacha:s答案