温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

JDK常用的命令有哪些

发布时间:2021-11-02 14:13:18 来源:亿速云 阅读:179 作者:iii 栏目:编程语言

本篇内容主要讲解“JDK常用的命令有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“JDK常用的命令有哪些”吧!

JDK 常用命令

先给大家看一张总览图,然后我们一个个命令去使用一下,感受一下。

JDK常用的命令有哪些

JPS

JDK常用的命令有哪些

说明:首先通过上图,我们看到使用 jps 或者 jps | grep -v Jps 命令的时候是可以找到当前系统所有JVM。上面第二条命令是过滤本身的  Jps 程序。可以看到,输入这个命令后,会展示出当前系统所有的 Java 程序,并且会输出进程号 pid(也就是前面的数字)。

我们通过命令 man jps 简单的看下说明,如下:

JDK常用的命令有哪些

可以看到 jps 命令有五个参数,每个参数的含义如下,

  • -q: 不输出类名信息和参数,只输出进程号

  • -m:展示输入到 main 方法的参数

  • -l:展示 main class 全路径

  • -v:展示输入 JVM 的参数

  • -V:不输出路径,只输出进程号和jar

我们依次输入试下,如下图

JDK常用的命令有哪些

Jinfo

通过上一步我们可以获得对应 JVM 的进程号,这为我们后续的操作提供了便利,后续的操作都会使用到进程号。

我们先使用一下命令,在使用前我们先获取进程号,我这里服务器运行的进程号为 2528,然后输入jinof 2528

JDK常用的命令有哪些

通过上图,我们看到当前 JVM 的版本以及其他详细信息,并且可以看到服务器以及环境变量等一系列信息。同样的我们使用 man jinfo  命令看下手册。

JDK常用的命令有哪些

该命令主要是用户查看当前虚拟机相关信息,我们就不过多介绍了。

Jstat

jstat命令主要是用来监控虚拟机的状态的,可以查看虚拟机 GC 的情况,如下命令jstat -gcutil 2528 1000 10表示每 1000  毫秒输出一次进程 2528 的 GC 情况,并且总共输出 10 次。

JDK常用的命令有哪些

jstat 的手册比较长,大家感兴趣可以自行去查看下,这里只贴上面一部分给大家看下。

JDK常用的命令有哪些

上面执行的jstat -gcutil 2528 1000 10 如果修改成这个jstat -gcutil -h4 2528 1000  10,最后的效果会是下图,我们可以看到每三行就增加了一个表头,更多命令大家可以自己试试。

JDK常用的命令有哪些

Jmap

jmap 命令用于生成dump 文件,jmap -dump:live,format=b,file=dump.bin 2528创建 dump  文件如下。

JDK常用的命令有哪些

通过jmap 命令我们可以生成内存快照文件,用于分析程序异常时的内存信息,并且配合 jhat命令可以更好的使用。

JDK常用的命令有哪些

Jhat

上面提到我们在使用 jmap 的时候生成了一个内存快照文件,那我们如何查看这个内存文件呢?这里就需要结合jhat命令了。我们使用jhat dump.bin  就可以启动一个服务,然后通过浏览器打开默认的 7000 端口来查看信息。

JDK常用的命令有哪些

访问 7000 端口如下:

JDK常用的命令有哪些

Jstack

jstack用于生成java虚拟机当前时刻的线程快照,线程快照是当前 java  虚拟机内每一条线程正在执行的方法堆栈的集合,生成线程快照的主要目的是定位线程出现长时间停顿的原因,如线程间死锁、死循环、请求外部资源导致的长时间等待等。线程出现停顿的时候通过  jstack来查看各个线程的调用堆栈,就可以知道没有响应的线程到底在后台做什么事情,或者等待什么资源。

使用命令jstack 2528 查看线程堆栈情况如下:

JDK常用的命令有哪些

通过这个命令我们可以看到进程对应的线程执行情况,可以分析哪些线程在允许,哪些线程在等待。

到此,相信大家对“JDK常用的命令有哪些”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI