java 自带指令

目录

java命令

javac命令   

javap命令

jps命令

jstack命令

jmap命令

JVisualVM命令


java命令

用途: 运行java代码

java  xxx         //运行xxx.class文件,注意这里不能带文件后缀
java -jar xxx.jar //运行xxxx.jar包


//java命令后可以跟以下选项设置必要参数
-cp             //指定类运行所依赖其他类的路径,通常是类库,jar包之类,需要全路径到jar包,
                //window上分号“;” 分隔,linux上是分号“:”分隔
                //eg: java -cp  lib/*.jar   com.example.Application

-classpath      //同-cp

-Dkey=value     //设置参数

javac命令   

用途: 编译java文件,输出.class字节码文件      

javac -d destDir srcFile.java      //编译srcFile.java并将class文件保存到destDir 

javac -d destDir -s srcDir         //编译srcFile中的java文件并将class文件保存到destDir    

javap命令

用途: 反解析.class字节码文件

javap -c xxx.class       //将字节码文件.class,反汇编成易于理解的格式

jps命令

jps      //查看当前运行的java进程
jps -l   //查看当前运行的java进程,连带显示main方法包名

jstack命令

用途: 打印Java进程的堆栈信息

jstack pid   //显示指定pid的堆栈信息

参考:java jstat 用法 | 应用开发笔记

jmap命令

用途:  查看堆内存使用情况

jmap -dump:live,format=b,file=dump.hprof  pid 
//dump堆到文件,format指定输出格式,live指明是活着的对象,file指定文件名
//jhat dump.hprof 用来分析生成的堆转储快照,但是展示的不是很友好太麻烦

        注:hprof文件分析工具:Eclipse Memory Analyzer Open Source Project | The Eclipse Foundation

jmap -heap pid    
//打印heap的概要信息,GC使用的算法,heap的配置及使用情况,可以用此来判断内存目前的使用情况以及垃圾回收情况
  • Concurrent Mark-Sweep GC 并行标记-清除垃圾回收算法时详解
using parallel threads in the new generation.  //新生代采用的是并行线程处理方式

using thread-local object allocation.   

Concurrent Mark-Sweep GC   //同步并行垃圾回收

Heap Configuration:  //堆配置情况

   MinHeapFreeRatio = 40 //最小堆使用比例

   MaxHeapFreeRatio = 70 //最大堆可用比例

   MaxHeapSize      = 2147483648 (2048.0MB) //最大堆空间大小

   NewSize          = 268435456 (256.0MB) //新生代分配大小

   MaxNewSize       = 268435456 (256.0MB) //最大可新生代分配大小

   OldSize          = 5439488 (5.1875MB) //老生代大小

   NewRatio         = 2  //新生代比例

   SurvivorRatio    = 8 //新生代与suvivor的比例

   PermSize         = 134217728 (128.0MB) //perm区大小

   MaxPermSize      = 134217728 (128.0MB) //最大可分配perm区大小

Heap Usage: //堆使用情况

New Generation (Eden + 1 Survivor Space):  //新生代(伊甸区 + survior空间)

   capacity = 241631232 (230.4375MB)  //伊甸区容量

   used     = 77776272 (74.17323303222656MB) //已经使用大小

   free     = 163854960 (156.26426696777344MB) //剩余容量

   32.188004570534986% used //使用比例

Eden Space:  //伊甸区

   capacity = 214827008 (204.875MB) //伊甸区容量

   used     = 74442288 (70.99369812011719MB) //伊甸区使用

   free     = 140384720 (133.8813018798828MB) //伊甸区当前剩余容量

   34.65220164496263% used //伊甸区使用情况

From Space: //survior1区

   capacity = 26804224 (25.5625MB) //survior1区容量

   used     = 3333984 (3.179534912109375MB) //surviror1区已使用情况

   free     = 23470240 (22.382965087890625MB) //surviror1区剩余容量

   12.43827838477995% used //survior1区使用比例

To Space: //survior2 区

   capacity = 26804224 (25.5625MB) //survior2区容量

   used     = 0 (0.0MB) //survior2区已使用情况

   free     = 26804224 (25.5625MB) //survior2区剩余容量

   0.0% used // survior2区使用比例

concurrent mark-sweep generation: //老生代使用情况

   capacity = 1879048192 (1792.0MB) //老生代容量

   used     = 30847928 (29.41887664794922MB) //老生代已使用容量

   free     = 1848200264 (1762.5811233520508MB) //老生代剩余容量

   1.6416783843721663% used //老生代使用比例

Perm Generation: //perm区使用情况

   capacity = 134217728 (128.0MB) //perm区容量

   used     = 47303016 (45.111671447753906MB) //perm区已使用容量

   free     = 86914712 (82.8883285522461MB) //perm区剩余容量

   35.24349331855774% used //perm区使用比例

  • Parallel GC
using thread-local object allocation.
Parallel GC with 4 thread(s)          //GC 方式          

Heap Configuration:       //堆内存初始化配置

    MinHeapFreeRatio=40     //对应jvm启动参数-XX:MinHeapFreeRatio设置JVM堆最小空闲比率(default 40)

    MaxHeapFreeRatio=70  //对应jvm启动参数 -XX:MaxHeapFreeRatio设置JVM堆最大空闲比率(default 70)

    MaxHeapSize=512.0MB  //对应jvm启动参数-XX:MaxHeapSize=设置JVM堆的最大大小

    NewSize  = 1.0MB          //对应jvm启动参数-XX:NewSize=设置JVM堆的‘新生代’的默认大小

    MaxNewSize =4095MB   //对应jvm启动参数-XX:MaxNewSize=设置JVM堆的‘新生代’的最大大小

    OldSize  = 4.0MB            //对应jvm启动参数-XX:OldSize=<value>:设置JVM堆的‘老生代’的大小

    NewRatio  = 8         //对应jvm启动参数-XX:NewRatio=:‘新生代’和‘老生代’的大小比率

    SurvivorRatio = 8    //对应jvm启动参数-XX:SurvivorRatio=设置年轻代中Eden区与Survivor区的大小比值 

    PermSize= 16.0MB       //对应jvm启动参数-XX:PermSize=<value>:设置JVM堆的‘永生代’的初始大小

    MaxPermSize=64.0MB  //对应jvm启动参数-XX:MaxPermSize=<value>:设置JVM堆的‘永生代’的最大大小

Heap Usage:               //堆内存分步

PS Young Generation

    Eden Space:          //Eden区内存分布

    capacity = 20381696 (19.4375MB)  //Eden区总容量

    used     = 20370032 (19.426376342773438MB)  //Eden区已使用

    free     = 11664 (0.0111236572265625MB)  //Eden区剩余容量

    99.94277218147106% used  //Eden区使用比率

From Space:        //其中一个Survivor区的内存分布

    capacity = 8519680 (8.125MB)

    used     = 32768 (0.03125MB)

    free     = 8486912 (8.09375MB)

    0.38461538461538464% used

To Space:            //另一个Survivor区的内存分布

    capacity = 9306112 (8.875MB)

    used     = 0 (0.0MB)

    free     = 9306112 (8.875MB)

    0.0% used

PS Old Generation  //当前的Old区内存分布

    capacity = 366280704 (349.3125MB)

    used     = 322179848 (307.25464630126953MB)

    free     = 44100856 (42.05785369873047MB)

    87.95982001825573% used

PS Perm Generation  //当前的 “永生代” 内存分布

    capacity = 32243712 (30.75MB)

    used     = 28918584 (27.57891082763672MB)

    free     = 3325128 (3.1710891723632812MB)

    89.68751488662348% used

参考1:jvm问题排查工具 - Java天堂

参考2:JVM调优命令-jmap - heapStark - 博客园

JVisualVM命令

用途: 功能强大的控制台

参考:jvisualvm 工具使用 - milkty - 博客园

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值