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

createh55个月前 (01-08)技术教程80

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%免费领取楼主的所有面试题资料!

相关文章

有望取代 java?GO 语言项目了解一下

GO 语言在编程界一直让人又爱又恨,有人说“ GO 将统治下一个十年”,“几乎所有新的、有趣的东西都是用 Go 写的”;也有人说它过于死板,使用感太差。国外有 Google、AWS、Cloudflar...

Linux常用命令大全(最完整)

端口监听查看:ss -tln 查看TCP的listen的端口ss -tlnp 查看哪些进程使用了监听端口防火墙systemctl status iptables (或service iptables...

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

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

看完这篇 我也会用命令行来启动程序了

最近在配置一些java相关环境的时候,本着不出错的原则,就百度了一下详细的教程,可是发现多数教程只是写了一大堆代码,但是都未能谈论到本质的东西,所以,我决定和大家来谈一下这个各大软件(语言编辑器)配置...

CMD命令行运行Java 错误:找不到或无法加载主类

如果编写的代码用cmd命令来编译时正常的,也就是javac fileName.java可以编译成功,但是在使用java命令来运行java时,提示(错误:找不到或无法加载主类),会导致这种情况一般是:...