用arthas查看JVM已加载的类及方法信息

1、sc:“Search-Class” 的简写,这个命令能搜索出所有已经加载到 JVM 中的 Class 信息,这个命令支持的参数有 [d][E][f] 和 [x:]
[d]输出当前类的详细信息,包括这个类所加载的原始文件来源、类的声明、加载的ClassLoader等详细信息。
如果一个类被多个ClassLoader所加载,则会出现多次
[E]开启正则表达式匹配,默认为通配符匹配
[f]输出当前类的成员变量信息(需要配合参数-d一起使用)
[x:]指定输出静态变量时属性的遍历深度,默认为 0,即直接使用 toString 输出
  • 模糊搜索
    $ sc demo.*
    demo.MathGame
    Affect(row-cnt:1) cost in 55 ms.
  • 打印类的详细信息
    $ sc -d demo.MathGame
    class-info demo.MathGame
    code-source /private/tmp/arthas-demo.jar
    name demo.MathGame
    isInterface false
    isAnnotation false
    isEnum false
    isAnonymousClass false
    isArray false
    isLocalClass false
    isMemberClass false
    isPrimitive false
    isSynthetic false
    simple-name MathGame
    modifier public
    annotation
    interfaces
    super-class +-java.lang.Object
    class-loader +-sun.misc.Launcher$AppClassLoader@3d4eac69
    +-sun.misc.Launcher$ExtClassLoader@66350f69
    classLoaderHash 3d4eac69
    Affect(row-cnt:1) cost in 875 ms.
  • 打印出类的Field信息

    $ sc -d -f demo.MathGame

    class-info demo.MathGame

    code-source /private/tmp/arthas-demo.jar

    name demo.MathGame

    isInterface false

    isAnnotation false

    isEnum false

    isAnonymousClass false

    isArray false

    isLocalClass false

    isMemberClass false

    isPrimitive false

    isSynthetic false

    simple-name MathGame

    modifier public

    annotation

    interfaces

    super-class +-java.lang.Object

    class-loader +-sun.misc.Launcher$AppClassLoader@3d4eac69

    +-sun.misc.Launcher$ExtClassLoader@66350f69

    classLoaderHash 3d4eac69

    fields modifierprivate,static

    type java.util.Random

    name random

    value java.util.Random@522b4

    08a


    modifierprivate

    type int

    name illegalArgumentCount


    Affect(row-cnt:1) cost in 19 ms.
    2、sm:“Search-Method” 的简写,这个命令能搜索出所有已经加载了 Class 信息的方法信息。sm 命令只能看到由当前类所声明 (declaring) 的方法,父类则无法看到。
  • [d]展示每个方法的详细信息
    [E]开启正则表达式匹配,默认为通配符匹配

posted on   时间朋友  阅读(15676)  评论(0编辑  收藏  举报

编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
历史上的今天:
2018-12-12 微信后端服务架构及其过载控制系统DAGOR
2017-12-12 spring web中的filter
2016-12-12 2016第51周一
2015-12-12 2015第50周六
2014-12-12 第五十周五
2013-12-12 2013第50周四开发记
2013-12-12 jquery使用总结

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示