java诊断工具-Arthas(sc命令)查看JVM已加载的类信息

本文介绍了`Search-Class`(sc)命令的使用,它能检索JVM中已加载的类信息,包括全限定名和子类匹配。在生产环境中,当遇到CPU利用率过高或代码不一致的问题时,可以通过`sc`命令查找问题线程相关的类,对比线上和本地的jar包,排查可能的jar包冲突。此外,`sc`还可以用于查看类的Field信息,帮助定位代码问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

sc

“Search-Class” 的简写。这个命令能搜索出所有已经加载到 JVM 中的 Class 信息。

class-pattern支持全限定名,如com.taobao.test.AAA,也支持com/taobao/test/AAA这样的格式,这样,我们从异常堆栈里面把类名拷贝过来的时候,不需要在手动把/替换为.啦。

sc 默认开启了子类匹配功能,也就是说所有当前类的子类也会被搜索出来,想要精确的匹配,请打开options disable-sub-class true开关

1、模糊搜索类

 

 2、打印类的详细信息,其中code-source展示了该类所在的jar包

生产应用

比如cpu利用率过高后,通过jstack找出来有问题的线程以及代码,如果发现出现问题的代码和本地代码不一样(比如生产上方法所在行或者说出现问题的方法内容和本地的不一样),则可以使用上面的sc -d命令来找出来线下类所在的jar包和本地比较是否是一致的。如果不一致,说明有jar包冲突,需要升级jar包版本。、

生产问题排查案例

 3、打印出类的Field信息

 可以看到类中有两个属性一个是random一个是illegalArgumentCount

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值