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

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

相关文章

网络常见的 9 大命令,非常实用

1.ping 命令ping 是个使用频率极高的实用程序,主要用于确定网络的连通性。这对确定网络是否正确连接,以及网络连接的状况十分有用。简单的说,ping 就是一个测试程序,如果 ping 运行正确,...

如何用java执行cmd命令

什么场景下用到cmd命令windows的cmd命令对于编程的小伙伴们来说应该是再熟悉不过了,比如说安装完node之后我们要查看一下node是否安装成功那么我们可以通过cmd命令行输入node -v来查...

Java中命令行调用大坑

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

快速命令行界面

什么是快速 CLI?快速 CLI 是在 Java 中创建命令行程序的最快方法。它是一个基于开源注释的框架,用于创建shell程序。它使应用程序开发人员能够构建命令行工具,而无需编写样板代码。它非常简单...

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

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