如何查看实例JVM中已加载的Java类数量?
查看JVM已加载类数量的控制台命令
以下是几个JDK自带的控制台命令,可直接查看Java进程已加载的类数量:
jstat(最常用):
这是专门用于监控JVM运行统计数据的工具,能输出类加载、垃圾回收等核心指标。执行命令:jstat -class <Java进程PID>输出结果里的
Loaded字段就是当前已加载的类总数,Bytes对应这些类占用的字节数,Unloaded则是已卸载的类数量。jcmd:
多功能JVM诊断命令,可通过它获取类统计信息:jcmd <Java进程PID> GC.class_stats输出开头会显示已加载的类实例总数,也可以通过过滤简化输出:
jcmd <Java进程PID> GC.class_stats | head -n 5部分JDK版本还支持直接查看类数量的快捷命令:
jcmd <Java进程PID> VM.class_countjmap:
虽主打堆转储功能,但也能输出类加载相关统计:jmap -histo <Java进程PID>输出的第一行就是已加载的类总数,后续会列出每个类的实例数和占用内存大小。
如果不知道目标Java进程的PID,可先用jps命令快速列出当前运行的所有Java进程及其PID。
内容的提问来源于stack exchange,提问作者BugsOverflow
相关产品推荐
相关产品推荐

