用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] 開啟正則表達式匹配,默認為通配符匹配


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM