> 文章列表 > Java | 一分钟掌握JDK命令行工具 | 4 - 可视化分析工具

Java | 一分钟掌握JDK命令行工具 | 4 - 可视化分析工具

Java | 一分钟掌握JDK命令行工具 | 4 - 可视化分析工具

作者:Mars酱

声明:本文章由Mars酱编写,部分内容来源于网络,如有疑问请联系本人。

转载:欢迎转载,转载前先请联系我!

前言

我们其实在分析的时候,也并不是必须使用命令行工具才能可以分析。JDK还提供了可视化工具让大家可以在图形化的操作系统中使用。

可视化分析工具

可视化分析工具分两种:一种JDK自带;一种第三方的。

JConsole

JConsole 就是JDK自带的原生可视化工具,位置在java安装目录的bin文件夹下。它是基于 JMX 的可视化监视、管理工具。

JConsole主界面

Java | 一分钟掌握JDK命令行工具 | 4 - 可视化分析工具

可以分析本地java进程和远程进程,如果需要分析远程进程,远程java程序在运行时需要开启外网权限、开放接口、授权认证信息。我在网上找到以下参数:

# 值为可供外网访问的ip地址
-Djava.rmi.server.hostname=#外网访问ip地址#
# 值为可被访问的端口号
-Dcom.sun.management.jmxremote.port=60001
#是否开启认证:true开启;false关闭
-Dcom.sun.management.jmxremote.authenticate=false
# 是否启用ssl认证:true开启;false关闭
-Dcom.sun.management.jmxremote.ssl=false

以上参数需要在启动java程序时添加。

程序概况

Java | 一分钟掌握JDK命令行工具 | 4 - 可视化分析工具

内存监控

点击“执行 GC(G)”按钮可以强制应用程序执行一个 Full GC。

Java | 一分钟掌握JDK命令行工具 | 4 - 可视化分析工具

线程监控

最下面有一个"检测死锁 (D)"按钮,点击这个按钮可以自动为你找到发生死锁的线程和它们的详细信息 。

Java | 一分钟掌握JDK命令行工具 | 4 - 可视化分析工具

Visual VM

VisualVM 集成了命令行 JDK 工具和轻量级分析功能,是一体化 Java 故障排除工具,它基于Netbeans开发,专为开发和生产时使用而设计。关键它是开源的,不仅可以自己改造,还能自己给它添加很多插件,懂C/C++的高端玩家可以入手了。

Visual VM主界面

Java | 一分钟掌握JDK命令行工具 | 4 - 可视化分析工具

程序概况

Java | 一分钟掌握JDK命令行工具 | 4 - 可视化分析工具

内存监控

Java | 一分钟掌握JDK命令行工具 | 4 - 可视化分析工具

感觉这个图形化效果要比JConsole的好看点。

线程监控

Java | 一分钟掌握JDK命令行工具 | 4 - 可视化分析工具

监控自己的程序

我运行了自己的代码,Visual VM里面能够展示出来它的信息,如下:

Java | 一分钟掌握JDK命令行工具 | 4 - 可视化分析工具

我还看了看它的内存情况:

Java | 一分钟掌握JDK命令行工具 | 4 - 可视化分析工具

内容挺漂亮,数据也显得挺清晰的。

总结

命令行工具的作用主要作用是为了监控和分析故障。我们既可以使用JDK自带的命令行工具,也可以使用可视化分析工具,选择都很多,优点缺点都有。大家可以根据自己的选择去使用。