arthas
arthas copied to clipboard
关于sc命令检索出接口实现类问题
1、我实现了一个类public class MyTransformer implements ClassFileTransformer
官方文档仅说明“sc 默认开启了子类匹配功能,也就是说所有当前类的子类也会被搜索出来,想要精确的匹配,请打开options disable-sub-class true开关"
2、使用arthas工具搜索ClassFileTransformer直接把MyTransformer也搜出来了,这是什么原因?难道除了继承外,实现接口也会别关联检索出来吗? [arthas@31096]$ sc ClassFileTransformer com.loki.JavaAgent.MyTransformer com.taobao.arthas.core.advisor.TransformerManager$1 com.taobao.arthas.core.command.klass100.ClassDumpTransformer java.lang.instrument.ClassFileTransformer
是的,这是由于rthas 术语与 Java 标准术语的差异导致的,实际上默认的情况下是disable-sub-class false 模式会匹配所有子类型(包括接口实现类)。改为true的话 就会只搜索这个类了,其实感觉这个true选项并没有什么用,如果已经知道了这个类,还去搜索这个类做什么?输出和输入一样,没啥用