首页 > 编程语言 >Java | 一分钟掌握JDK命令行工具 | 4 - 可视化分析工具

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

时间:2023-04-16 20:00:53浏览次数:29  
标签:分析 false JDK java 可视化 Java 工具

 作者:Mars酱

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

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

前言

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

可视化分析工具

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

JConsole

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

JConsole主界面

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

可以分析本地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 - 可视化分析工具_JConsole_02

内存监控

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

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

线程监控

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

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

Visual VM

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

Visual VM主界面

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

程序概况

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

内存监控

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

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

线程监控

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

监控自己的程序

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

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

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

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

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

总结

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

标签:分析,false,JDK,java,可视化,Java,工具
From: https://blog.51cto.com/marsz/6193533

相关文章

  • Centos7 安装 jdk20
    1、下载wgethttps://download.oracle.com/java/20/latest/jdk-20_linux-x64_bin.tar.gz2、解压tarzxvfjdk-20_linux-x64_bin.tar.gz -C/usr/local/3、配置环境遍历vim/etc/profileJAVA_HOME=/usr/local/jdk-20/exportPATH=$JAVA_HOME/bin:$PATHsource/etc/pro......
  • Java运算符优先级分析
    packagecom.zt.javase01;publicclassTest2{publicstaticvoidmain(String[]args){intn=10;n+=(n++)+(++n);System.out.println(n);//输出32/*(n++)(++n)从左到右执行因此(n+......
  • jmeter测试工具-测试基础(2)-jmeter中如何录制脚本
    一:JMeter中录制脚本jmeter中如何录制脚本1,新建一个测试计划---添加---非测试原件---HTTP代理服务器2,在浏览器中进行设置-高级-系统-打开计算机代理设置3,如下图所示,然后启动HTTP代理服务器4,录制完毕,关闭录制,关闭代理  1,创建代理服务器:  2、添加录制控......
  • 编程语言和编程工具
    使用过的语言:C、JavaC语言的优势:C语言编写的代码效率高,运行速度快。C语言的语法和功能简单,易于学习和理解。C语言具有很高的可移植性,可以在多种不同的平台上运行。Java语言的优势:Java语言是一种跨平台的编程语言,可以在不同的操作系统和硬件平台上运行。Java语言有很多强大......
  • Java编码
    有关编码的基础知识1.位bit最小的单元字节byte机器语言的单位1byte=8bits1B=1byte1KB=1024B1MB=1024KB1GB=1024MB 字符:是各种文字和符号的总称,包括各个国家的文字,标点符号,图形符号,数字等。字符集:字符集是多个符号的集合,每个字符集包含的字符个数不同。字符编码:......
  • 深入理解 Java 的整型类型:如何实现 2+2=5?
    在开始关于Java的整型类型讨论之前,让我们先看下这段神奇的Java代码:publicstaticvoidmain(String[]args)throwsException{doSomethingMagic();System.out.printf("2+2=%d",2+2);}执行结果,控制台打印的内容:2+2=5那么doSomethingMagic方法......
  • js 传递汉字 乱码_JavaScript 字符串反转乱码问题解决
    https://blog.csdn.net/weixin_36483301/article/details/113451892emoji表情和非常用字实际解决中文编码问题,可以通过解码解决js中使用decodeURL即可解决......
  • java反射
    java反射1.基本定义Java反射机制是在运行状态时,对于任意一个类,都能够获取到这个类的所有属性和方法,对于任意一个对象,都能够调用它的任意一个方法和属性(包括私有的方法和属性),这种动态获取的信息以及动态调用对象的方法的功能就称为java语言的反射机制。可以说为对象可以通过......
  • Java中abstract(抽象类)
    1、概述(1)只给出方法定义而不具体实现的方法被称为抽象方法,抽象方法是没有方法体的,在代码的表达上就是没有“{}”。使用abstract修饰符来表示抽象方法和抽象类。(2)abstract修饰符表示所修饰的类没有完全实现,还不能实例化。如果在类的方法声明中使用abstract修饰符,表明该方法是一个......
  • Java JDBC批处理添加出现问题,求解决方案
    晚辈使用JDBC批处理时出现一个问题,使用addBatch()方法将记录加入批处理中,我想让这五千条记录每达到一千条记录再执行,以此提高效率,可最后执行在数据库查看时仅五条记录,我尝试将 preparedStatement.executeUpdate();提出if语句,虽然是有五千条记录,但效率相当的慢请求前辈们给出解决......