linux从所有JVM获取所有Java类的列表?
我想要一个列表,列出在某一时刻加载到多线程/JVM中的所有类
我知道,当您使用-verbose
参数运行java时,您可以像这样将其写入文件:java -verbose:class com.package.Foo > classes-used.txt
然而,我的主程序中有一些线程使用shell脚本来启动一个新的jar。我希望避免在每个shell脚本中都必须编写-verbose
参数,我想知道在Linux上是否还有其他方法可以做到这一点
你可以在下面搜索框中键入要查询的问题!
我想要一个列表,列出在某一时刻加载到多线程/JVM中的所有类
我知道,当您使用-verbose
参数运行java时,您可以像这样将其写入文件:java -verbose:class com.package.Foo > classes-used.txt
然而,我的主程序中有一些线程使用shell脚本来启动一个新的jar。我希望避免在每个shell脚本中都必须编写-verbose
参数,我想知道在Linux上是否还有其他方法可以做到这一点
# 1 楼答案
您可以使用JDK附带的jcmd命令。它不需要在启动时将任何特殊参数传递给JVM
将列出当前运行的所有JVM及其pid(进程id)
然后将列出当前加载到该JVM中的每个类,以及实例数