zoukankan      html  css  js  c++  java
  • JDK常用工具

    JDK的命令行工具

    jps

    查看正在使用的jvm机器进程号。

    java -classpath %Java_HOME%/lib/tools.jar sun.tools.jps.Jps命令是等价的,即jps.exe只是这个命令的一层包装。

    常用命令,-l显示正在运行的jar包或者软件(基于jvm),-v显示当前进程详细的jvm参数

    jps -l

    jps -v

    jinfo

    和jps差不多,要指定pid。显示当前jvm环境的所有配置

    javap

    反汇编命令,查看class字节码指令

    -c是反汇编,为了显示方法内的指令,不带-c只能看方法签名,所以大部分时候都要使用-c。

    -l可以查看输出行号和本地变量表,局部变量表(指令区-》虚拟机栈-》栈帧-》局部变量表)。

    -v输出附加信息,可以查看常量的值。(-v包含-c -l)

    javap -c -l className.class > javap_1.txt

    字节码详解

    导出内存

    jmap(JVM Memory Map for Java)

    jmap用于生成堆快照(heapdump)。

    jmap -heap 7180     #查看堆内存配置:堆(年轻代老年代)和方法区(永久代)
    jmap -dump:file=./dumpfile.dump 14320   #直接down对内存并指定文件名1.61G 
    jmap -dump:format=b,file=./heap.bin 14320   #以二进制形式导入到文件
    jmap -dump:live,file=./jmap.hprof 14320  #只导出正在活动的对象(没有实例的不导出)  -F强制模式
    jmap -histo:live 14320|grep className  #显示什么类有多少个实例,共占了多少字节
    jmap -permstat 14320   #查看永久代

    jstack(JVM Stack Trace for java)

    jstack用于JVM当前时刻的线程快照,又称threaddump文件,它是JVM当前每一条线程正在执行的堆栈信息的集合。

    jstack -l 7180  >> stack.txt

    JHAT(JVM Heap Analysis Tool)

    用来分析java堆的命令,可以将堆中的对象以html的形式显示出来,包括对象的数量,大小等等,并支持对象查询语言

    jhat *.hprof/dump/tdump

    https://docs.oracle.com/javase/6/docs/technotes/tools/share/jmap.html

    JDK可视化工具

    JConsole:用来内存监控、线程监控。

    JVisualVM:强大的运行监控和故障处理程序,还有性能分析等功能。对性能影响小,可直接用于生产环境。

  • 相关阅读:
    idea的常识
    开发工具
    常用的正则表达式
    比较器
    索引
    final区别
    GC
    String StringBuffer
    类库
    线程的操作状态
  • 原文地址:https://www.cnblogs.com/aeolian/p/10495561.html
Copyright © 2011-2022 走看看