Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
获取从所有JVM使用的所有Java类的列表';s_Java_Linux_Classloader - Fatal编程技术网

获取从所有JVM使用的所有Java类的列表';s

获取从所有JVM使用的所有Java类的列表';s,java,linux,classloader,Java,Linux,Classloader,我想要一个列表,列出在某一时刻加载到多线程/JVM中的所有类 我知道,当您使用-verbose参数运行java时,可以将其写入如下文件:java-verbose:class com.package.Foo>classes used.txt 然而,我的主程序中有一些线程使用shell脚本来启动一个新的jar。我希望避免在每个shell脚本中都必须编写-verbose参数,我想知道在Linux上是否还有其他方法可以做到这一点?您可以使用JDK附带的jcmd命令。它不需要在启动时将任何特殊参数传递给J

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

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


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

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

jcmd 
将列出当前运行的所有JVM及其pid(进程id)

jcmd GC.class\u直方图

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

这正是我要查找的!非常感谢D
jcmd <pid> GC.class_histogram