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

createh54个月前 (01-08)技术教程43

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执行cmd命令

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

手把手教你写Java-Agent

Java Agent是目前是各种监测调试JVM的主要技术。Eclipse,IntelliJ,Visual VM ,JConsole 等都依赖于此技术。相信你们的Java 程序部署的时候肯定也会配置各种...

从IDE到命令行:程序员的生产力工具盘点

在程序员的日常工作中,工具的选择直接影响到开发效率与工作流的顺畅。除了代码编写本身,如何高效地管理项目、调试程序、版本控制,甚至提高代码质量,都是开发者关注的重点。本文将盘点几款帮助程序员提升生产力的...

全网最完整的免费java教程讲义(一)——java配置和安装

一,安装Java1) 安装JDK要学习和使用java,首先需要安装JDK(Java Developemnt Kit),相当于java安装包。Java的下载页在甲骨文官网上:https://www.or...