你了解JDK常用的7种命令行工具吗?

createh53个月前 (01-08)技术教程40

1 jps

1.1 介绍

jps是JDK提供的一个可以列出正在运行的Java虚拟机的进程信息的命令行工具,用来显示当前系统的java进程情况及进程id。

1.2 命令格式

jps [options] [hostid]

1.3 执行样例

2 jstat

2.1 介绍

它是虚拟机统计信息监视工具,查看gc实时执行情况。

2.2 命令格式

jstat [Options] vmid [interval] [count]

2.3 执行样例

3 jinfo

3.1 介绍

jinfo是用来实时地查看和调整虚拟机各项参数。

3.2 命令格式

jinfo [option] pid

3.3 执行样例

其中结果-UseSerialGC中的-号代表没有使用Serial垃圾收集器。

4 jmap

4.1 介绍

jmap用于生产堆转储快照。

4.2 命令格式

jmap [option] vmid

4.3 执行样例

5 jhat

5.1 介绍

jhat命令与jmap命令搭配使用,来分析jmap生成的堆转储快照。

5.2 执行样例

访问本地的7000端口可以看到页面如下内容

6 jstack

6.1 介绍

jstack是JDK提供的一个可以生成Java虚拟机当前时刻的线程快照信息的命令行工具。线程快照一般被称为threaddump或者javacore文件,是当前Java虚拟机中每个线程正在执行的Java线程、虚拟机内部线程和可选的本地方法堆栈帧的集合。对于每个方法栈帧,将会显示完整的类名、方法名、字节码索引(bytecode index,BCI)和行号。生成的线程快照可以用于定位线程出现长时间停顿的原因,比如:线程间死锁、死循环、请求外部资源被长时间挂起等等。

6.2 命令格式

jstack [options] pid

6.3 执行样例

7 jconsole

7.1 介绍

jconsole是一种基于JMX的可视化监视、管理工具,是jdk自带的一套java虚拟机执行状况监视器,它能够用来监控虚拟机的内存,线程,cpu使用情况以及相关的java进程相关的MBean。

7.2 执行样例

总结

上面总共讲述了7个jdk自带的命令,有jps、jstat、jinfo、jmap、jhat、jstack和jconsole,这7个命令可以帮助我们解决大部分问题,如果还有解决不掉的,可以再找下我之前发的Arthas文章,更强大。

【温馨提示】

点赞+收藏文章,关注我并私信回复【面试题解析】,即可100%免费领取楼主的所有面试题资料!

相关文章

命令行参数

用过Unix命令行,都会感受它的强大。Unix like包括Linux发行版、macOS等命令行在大部分情况下比图形化高效太多,很多高手都在用命令行。CUI和GUI尽管专业的程序员通常用CUI, 但G...

Java中命令行调用大坑

Java中命令行调用大坑背景我司有一个查询服务接口机,QPS大概40~50,调用方式是Java调用Shell命令行的方式,核心代码如下:Process ps = Runtime.getRuntime(...

操作系统学习福利:600 条最强 Linux 命令总结

今天,带来一篇 Linux 命令总结的非常全的文章,也是我们平时工作中使用率非常高的操作命令,命令有点多,建议小伙伴们可以先收藏后阅读。1. 基本命令uname -m 显示机器的处...

Linux上,最常用的一批命令解析(十年精选,超详细)

Linux最常用命令合辑十年精选万字熬夜肝文建议收藏 | 分享一、系统目录结构1. / :根每一个文件和目录从根目录开始。只有root用户具有该目录下的写权限。请注意,/root是root用户的主目录...

11款常用Java编程软件推荐(建议收藏)

大家好,我是mikechen。优秀的Java编程软件可以极大的提升我们的开发效率,所以今天给大家推荐一波必备Java编程软件@mikechen本篇已经收纳于mikechen创作的《阿里架构师进阶专题合...