写点什么

Arthas classloader (查看 classloader 的继承树,urls,类加载信息)

作者:刘大猫
  • 2025-04-25
    黑龙江
  • 本文字数:5557 字

    阅读完需:约 18 分钟


@[toc]

二、命令列表

2.2 class/classloader 相关命令

2.2.4 classloader (查看 classloader 的继承树,urls,类加载信息)

提示

查看 classloader 的继承树,urls,类加载信息。可以让指定的 classloader 去 getResources,打印出所有查找到的 resources 的 url。对于ResourceNotFoundException比较有用。


参数说明:


举例 1:按类加载类型查看统计信息

基础语法

classloader


[arthas@26938]$ classloader name                                                                numberOfInstances  loadedCountTotal                                                                                                                                 sun.misc.Launcher$AppClassLoader                                    1                  11669                                                                                                                                            BootstrapClassLoader                                                1                  4751                                                                                                                                             com.taobao.arthas.agent.ArthasClassloader                           1                  1353                                                                                                                                             sun.reflect.DelegatingClassLoader                                   948                948                                                                                                                                              com.alibaba.fastjson.util.ASMClassLoader                            2                  170                                                                                                                                              sun.misc.Launcher$ExtClassLoader                                    1                  61                                                                                                                                               oracle.jrockit.jfr.events.EventHandlerCreator$EventInfoClassLoader  9                  9                                                                                                                                               Affect(row-cnt:7) cost in 39 ms.[arthas@26938]$ 
复制代码

举例 2:按类加载实例查看统计信息

基础语法

classloader -l


[arthas@26938]$ classloader -l name                                                                         loadedCount  hash      parent                                                                                                                              BootstrapClassLoader                                                         4752         null      null                                                                                                                                com.alibaba.fastjson.util.ASMClassLoader@2af720e3                            159          2af720e3  sun.misc.Launcher$AppClassLoader@18b4aac2                                                                                           com.alibaba.fastjson.util.ASMClassLoader@50893336                            11           50893336  sun.misc.Launcher$AppClassLoader@18b4aac2                                                                                           com.taobao.arthas.agent.ArthasClassloader@507764d0                           1360         507764d0  sun.misc.Launcher$ExtClassLoader@232204a1                                                                                           oracle.jrockit.jfr.events.EventHandlerCreator$EventInfoClassLoader@372f7a8d  1            372f7a8d  null                                                                                                                                oracle.jrockit.jfr.events.EventHandlerCreator$EventInfoClassLoader@27716f4   1            27716f4   null                                                                                                                                oracle.jrockit.jfr.events.EventHandlerCreator$EventInfoClassLoader@681a9515  1            681a9515  null                                                                                                                                oracle.jrockit.jfr.events.EventHandlerCreator$EventInfoClassLoader@5acf9800  1            5acf9800  null                                                                                                                                oracle.jrockit.jfr.events.EventHandlerCreator$EventInfoClassLoader@53d8d10a  1            53d8d10a  null                                                                                                                                oracle.jrockit.jfr.events.EventHandlerCreator$EventInfoClassLoader@63961c42  1            63961c42  null                                                                                                                                oracle.jrockit.jfr.events.EventHandlerCreator$EventInfoClassLoader@1fb3ebeb  1            1fb3ebeb  null                                                                                                                                oracle.jrockit.jfr.events.EventHandlerCreator$EventInfoClassLoader@119d7047  1            119d7047  null                                                                                                                                oracle.jrockit.jfr.events.EventHandlerCreator$EventInfoClassLoader@f6f4d33   1            f6f4d33   null                                                                                                                                sun.misc.Launcher$AppClassLoader@18b4aac2                                    11669        18b4aac2  sun.misc.Launcher$ExtClassLoader@232204a1                                                                                           sun.misc.Launcher$ExtClassLoader@232204a1                                    61           232204a1  null                                                                                                                               Affect(row-cnt:15) cost in 33 ms.[arthas@26938]$
复制代码

举例 3:查看 ClassLoader 的继承树

基础语法

classloader -t


[arthas@26938]$ classloader -t+-BootstrapClassLoader                                                                                                                                                                                                                  +-oracle.jrockit.jfr.events.EventHandlerCreator$EventInfoClassLoader@372f7a8d                                                                                                                                                           +-oracle.jrockit.jfr.events.EventHandlerCreator$EventInfoClassLoader@27716f4                                                                                                                                                            +-oracle.jrockit.jfr.events.EventHandlerCreator$EventInfoClassLoader@681a9515                                                                                                                                                           +-oracle.jrockit.jfr.events.EventHandlerCreator$EventInfoClassLoader@5acf9800                                                                                                                                                           +-oracle.jrockit.jfr.events.EventHandlerCreator$EventInfoClassLoader@53d8d10a                                                                                                                                                           +-oracle.jrockit.jfr.events.EventHandlerCreator$EventInfoClassLoader@63961c42                                                                                                                                                           +-oracle.jrockit.jfr.events.EventHandlerCreator$EventInfoClassLoader@1fb3ebeb                                                                                                                                                           +-oracle.jrockit.jfr.events.EventHandlerCreator$EventInfoClassLoader@119d7047                                                                                                                                                           +-oracle.jrockit.jfr.events.EventHandlerCreator$EventInfoClassLoader@f6f4d33                                                                                                                                                            +-sun.misc.Launcher$ExtClassLoader@232204a1                                                                                                                                                                                               +-com.taobao.arthas.agent.ArthasClassloader@507764d0                                                                                                                                                                                    +-sun.misc.Launcher$AppClassLoader@18b4aac2                                                                                                                                                                                               +-com.alibaba.fastjson.util.ASMClassLoader@2af720e3                                                                                                                                                                                     +-com.alibaba.fastjson.util.ASMClassLoader@50893336                                                                                                                                                                                 Affect(row-cnt:15) cost in 16 ms.[arthas@26938]$
复制代码

本人其他相关文章链接

1.Arthas 全攻略:让调试变得简单2.Arthas dashboard(当前系统的实时数据面板)3.Arthas thread(查看当前JVM的线程堆栈信息)4.Arthas jvm(查看当前JVM的信息)5.Arthas sysprop(查看和修改JVM的系统属性)6.Arthas sysenv(查看JVM的环境变量)7.Arthas vmoption(查看和修改 JVM里诊断相关的option)8.Arthas getstatic(查看类的静态属性 )9.Arthas heapdump(dump java heap, 类似 jmap 命令的 heap dump 功能)10.Arthas logger(查看 logger 信息,更新 logger level)11.Arthas mbean(查看 Mbean 的信息)12.Arthas memory(查看 JVM 内存信息)13.Arthas ognl(执行ognl表达式)14.Arthas perfcounter(查看当前 JVM 的 Perf Counter 信息)15.Arthas vmtool(从 jvm 里查询对象,执行 forceGc)16.Arthas jad(字节码文件反编译成源代码 )17.Arthas mc(Memory Compiler/内存编译器 )18.Arthas redefine(加载外部的.class文件,redefine到JVM里 )19.Arthas classloader (查看 classloader 的继承树,urls,类加载信息)20.Arthas sc(查看JVM已加载的类信息 )21.Arthas sm(查看已加载类的方法信息 )22.Arthas monitor(方法执行监控)23.Arthas stack (输出当前方法被调用的调用路径)24.Arthas trace (方法内部调用路径,并输出方法路径上的每个节点上耗时)25.Arthas tt(方法执行数据的时空隧道,记录下指定方法每次调用的入参和返回信息,并能对这些不同的时间下调用进行观测)26.Arthas watch (方法执行数据观测)27.Arthas profiler(使用async-profiler对应用采样,生成火焰图)

用户头像

刘大猫

关注

还未添加个人签名 2022-08-23 加入

还未添加个人简介

评论

发布
暂无评论
Arthas classloader (查看 classloader 的继承树,urls,类加载信息)_ClassLoader_刘大猫_InfoQ写作社区