获取所有 JVM 使用的所有 Java 类的列表?

2024-06-26

我想要一个在某个时刻在多个线程/JVM 中加载的所有类的列表。

我知道当你运行java时-verbose参数,您可以将其写入文件,如下所示:java -verbose:class com.package.Foo > classes-used.txt

但是,我的主程序中有一些线程使用 shell 脚本来启动新的 jar。我想避免必须写-verbose每个 shell 脚本中都有一个参数,我想知道在 Linux 上是否有其他方法可以做到这一点?


您可以使用 JDK 附带的 jcmd 命令。它不需要在启动时向 JVM 传递任何特殊参数。

jcmd 

将列出当前正在运行的所有 JVM 及其 pid(进程 ID)。

jcmd <pid> GC.class_histogram

然后将列出该 JVM 中当前加载的每个类,以及实例数。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

获取所有 JVM 使用的所有 Java 类的列表? 的相关文章

随机推荐