本次一起说下JDK的内置工具,JDK里面很多强大的工具,查看JVM的信息和监控JVM的内容。
(一)JDK内置工具 - javap
介绍
java 反编译工具,主要用于根据Java字节码文件反汇编为Java源代码文件。
命令
命令集
(二)JDK内置工具 -jps
介绍
jps (Java Virtual Machine Process Status Tool) 显示当前所有java进程pid的命令
命令
命令集
(三)JDK内置工具 -jstat
介绍
jstat命令可以查看堆内存各部分的使用量,以及加载类的数量。
命令
命令合集
(四)JDK内置工具 - jcmd
介绍
看Java进程、导出线程信息、执行GC、还可以进行采样分析(jmc 工具的飞行记录器)。
命令
命令合集
(四)JDK内置工具 -jinfo
介绍
主要用于打印配置信息,包括命令行参数、系统变量。极少数的情况下,我们可以用其来修改命令行参数。
命令
命令合集
(四)JDK内置工具 - jcmd
介绍
看Java进程、导出线程信息、执行GC、还可以进行采样分析(jmc 工具的飞行记录器)。
命令
命令合集
( 五)JDK内置工具 -jinfo
介绍
主要用于打印配置信息,包括命令行参数、系统变量。极少数的情况下,我们可以用其来修改命令行参数。
命令
命令合集
(四)JDK内置工具 - jhat
介绍
主要是用来分析java堆的命令,可以将堆中的对象以html的形式显示出来,包括对象的数量,大小等等,并支持对象查询语言。
命令
命令合集
( 五)JDK内置工具 -jinfo
介绍
主要用于打印配置信息,包括命令行参数、系统变量。极少数的情况下,我们可以用其来修改命令行参数。
命令
命令合集
(六)JDK内置工具 - jhat
介绍
打印出某个java进程(使用pid)内存内的,所有‘对象’的情况(如:产生那些对象,及其数量)。它的用途是为了展示java进程的内存映射信息,或者堆内存详情。
命令
命令合集
(七)JDK内置工具 - jhat
介绍
查看堆内各个部分的使用量,以及加载类的数量。使用时,需加上查看进程的进程id,和所选参数。
命令
命令合集
(八)JDK内置工具 - jconsole
介绍
一个内置 Java 性能分析器,可以从命令行或在 GUI shell 中运行。您可以轻松地使用 JConsole(或者,它更高端的 “近亲” VisualVM )来监控 Java 应用程序性能和跟踪 Java 中的代码。
命令
windows的bin目录里面
界面
查看,参看堆内存,非堆内存,内存池的状况总体内存的分配和使用情况以及不同的GC进行垃圾回收的次数和时间。可以手动进行GC查看内存变化。在分析JAVA内存问题进行调优时候非常有用,你要学习JVM内存模型,之后会发现这里的每个值都具有意义。GC的算法和参数对性能有显著的影响,注意垃圾回收次数、时间、以及partial GC和full GC,调整所使用的不同GC和以及各个GC下的参数,然后在这个视图下观察,以得到好的性能。
现在流行微服务,同一个服务可能是多台,所以这个命令更多的使用在测试环境单台机器上。
(八)JDK内置工具 - jvisualvm
介绍
用来监控JVM的运行情况,可以用它来查看和浏览Heap Dump、Thread Dump、内存对象实例情况、GC执行情况、CPU消耗以及类的装载情况
命令
windows的bin目录里面
界面
VisualVM,能够监控线程,内存情况,查看方法的CPU时间和内存中的对 象,已被GC的对象,反向查看分配的堆栈(如100个String对象分别由哪几个对象分配出来的).
从界面上看还是比较简洁的,左边是树形结构,自动显示当前本机所运行的Java程序,还可以添加远程的Java VM,其中括号里面的PID指的是进程ID。OverView界面显示VM启动参数以及该VM对应的一些属性。Monitor界面则是监控Java堆大小,Permgen大小,Classes和线程数量。
插件丰富
PS:两个可视化工具命令可以实现工具,让大家看的更加直观,并不是没有这些工具不行,而是有了这些工具更加方便。
领取专属 10元无门槛券
私享最新 技术干货