• java 自带命令


    Java 自带的命令行工具

    # 1. 编译class
    javac -encoding UTF-8 [-d .] Test1.java
    # 2. 运行
    java com.blog.Test1
    # 3. 查看字节码
    javap -verbose Test1.class
    // -verbose 指定显示更进一步的详细信息
    // -c 分解方法代码,即显示每个方法具体的字节码
    # 查看堆内存占用情况
    jmap -heap [pid]
    # 图形界面多功能监测工具, 可以连续监测
    jconsole
    # 可视化工具(安装 Visual GC 插件)(堆Dump)
    jvisualvm
    # 查看运行的java进程及 pid
    jps
    # 查看当前的堆内存
    jmap -dump:fromat=b,live,file=1.bin 21384
    ## b 二进制文件类型
    ## live 活着的, 会主动进行一次垃圾回收
    ## file 文件名
    # 排查栈上问题 
    top # 记下 pid
    ps H -eo pid,tid,%cpu |grep [pid] # H 打印进程树 -eo 感兴趣的内容  或 top Hp [pid]
    jstack [pid]
    # 然后将上面 ps 找到的 tid (thread id) 换算为16进制(原来为10进制), 在打印的信息中找到对应的 nid (Native Thread ID).
    
    • 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

    查看内存

    对 Java 程序的资源和性能进行实时监控,包括了对Heap size 和 垃圾回收状况 的监控
    • Jstat 可以用来监视 VM 内存内的堆和其他部分的大小 (XXC) 及内存使用量 (XXU)
    # -v 显示虚拟机参数
    jps -v
    # 加载 class 的数量, 及所占空间
    jstat -class pid
    # 显示VM实时编译的数量
    jstat -compiler pid
    # -gc 显示gc信息,查看gc的次数,及时间
    jstat -gc 7672
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    字段名说明
    S0C第一个Survivor的容量(kB)
    S1C第二个Survivor的容量(kB)
    S0U第一个Survivor已使用的容量(kB)
    S1U第二个Survivor已使用的容量(kB)
    ECEden区的容量(kB)
    EUEden区已使用的容量(kB)
    OC老年代的容量(kB)
    OU老年代已使用的容量(kB)
    MC元空间的容量(kB)
    MU元空间已使用的容量(kB)
    CCSC压缩类的容量(kB)
    CCSU压缩类已使用的的容量(kB)
    YGC年轻代垃圾收集的次数
    YGCT年轻代垃圾回收消耗时间
    FGC老年代垃圾回收次数
    FGCT老年代垃圾回收消耗时间
    GCT垃圾回收消耗总时间
  • 相关阅读:
    STM32 SPI
    HTML做一个抗疫逆行者感动人物页面(纯html代码)
    精品基于Uniapp+SSM实现的实验室设备预约管理APP
    【RabbitMQ 实战】09 客户端连接集群生产和消费消息
    MYSQL索引详解和优化
    阻塞队列BlockingQueue
    深度学习(一)读取数据 图片数据
    java-net-php-python-54jspm军舰管理系统计算机毕业设计程序
    如何有效应对差评对亚马逊销量的影响及应对措施
    【英语:语法基础】C1.日常对话-自我介绍
  • 原文地址:https://blog.csdn.net/howeres/article/details/125554113