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

news2024/11/16 3:35:27

作者:Mars酱

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

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

前言

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

可视化分析工具

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

JConsole

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

JConsole主界面

可以分析本地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程序时添加。

程序概况

内存监控

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

线程监控

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

Visual VM

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

Visual VM主界面

程序概况

内存监控

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

线程监控

监控自己的程序

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

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

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

总结

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/447521.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

八、vue-基础之列表渲染v-for、v-for中的key属性的作用

一、v-for列表渲染 在真实开发中,我们往往会从服务器拿到一组数据,并且需要对其进行渲染。 这个时候我们可以使用v-for来完成;v-for类似于JavaScript的for循环,可以用于遍历一组数据; 二、v-for基本使用 &#xff0…

Kubeadm方式搭建K8s高可用集群【1.23.0版本】

文章目录 一、集群规划及架构二、系统初始化准备(所有节点同步操作)三、安装kubeadm(所有节点同步操作)四、高可用组件安装及配置1、安装Nginx及配置2、安装keepalived及配置 五、初始化Master集群六、扩容K8S集群1、扩容master节点2、扩容node节点 七、安装网络组件Calico八、…

电脑文件剪切到U盘,为什么不见了?这4个技巧帮你找回丢失文件

文件剪切是指对计算机中的文件进行移动操作,将文件从原先的位置剪切到新的位置,然后将这些文件粘贴到新的位置,以完成文件的整个剪切操作。虽然剪切操作起来并不难,但是近日,有位小伙伴遇到了将电脑文件剪切到u盘后出现…

【C++】模板(二)

文章目录 非类型模板参数简单对容器array(c11)介绍及对比模板特化函数模板特化类模板特化全特化偏特化 模板分离模板总结 非类型模板参数 模板参数分类类型形参与非类型形参。 类型形参即:出现在模板参数列表中,跟在class或者type…

文献智能管理工具

当下载的文献非常多的时候,对文献的管理将是一个非常耗时且困难的工作。困难主要来自两个方面,一是文献的分类,当文献属于多个类别的时候,究竟应该放在哪个类别的文件夹下,还是说每个类别的文件夹下都放一个该文献的备…

传输层重点协议之【TCP协议】

1. TCP协议段格式 2. TCP原理 2.1 可靠性机制 2.1.1 确认应答 确认应答是实现可靠性的最核心机制 首先来看一个例子,下面是我和女神的对话~ 所以为了解决上述问题呢,就需要针对消息进行编号!给发送的消息分配一个”序号“,同时…

【蓝桥杯省赛真题21】python二十四节气 青少年组蓝桥杯比赛python编程省赛真题解析

目录 python二十四节气 一、题目要求 1、编程实现 2、输入输出 二、解题思路

SpringBoot整合ClickHouse

目录 1 ClickHouse准备操作2 使用jdbc方式操作ClickHouse3 SpringBoot的整合ClickHouse 1 ClickHouse准备操作 使用的JDBC方式操作clickhouseclickhouse与springboot的整合使用 提前创建一张表,并为该表插入一些实验数据 create table t_order01(id UInt32,sku_id…

卡片+递增三元组——蓝桥杯(JAVA解法)

1、卡片 题目链接:用户登录https://www.lanqiao.cn/problems/2383/learning/?page5&first_category_id1&sortstudents_count 问题描述 小蓝有 k 种卡片, 一个班有 n 位同学, 小蓝给每位同学发了两张卡片, 一 位同学的两张卡片可能是同一种, 也可能是不同…

xubuntu16.04下安装向日葵并设置开机自启

1.安装Sunlogin 下载 SunloginClient-11.0.1.44968-amd64.deb 解压后将SunloginClient-11.0.1.44968-amd64.deb拷贝到目标设备上,终端运行: dpkg -i SunloginClient-11.0.1.44968-amd64.deb进入到\usr/local/sunlogin/bin目录下,运行向日葵…

第一章 Maven概述

第一节 为什么要学习Maven? maven-作为依赖管理工具 ①jar 包的规模 随着我们使用越来越多的框架,或者框架封装程度越来越高,项目中使用的jar包也越来越多。项目中,一个模块里面用到上百个jar包是非常正常的。 比如下面的例子…

FreeRTOS 队列(二)

文章目录 一、向队列发送消息1. 函数原型(1)函数 xQueueOverwrite()(2)函数 xQueueGenericSend()(3)函数 xQueueSendFromISR()、xQueueSendToBackFromISR()、xQueueSendToFrontFromISR()(4&…

GIT的常见命令

前言: 在日常生活或者工作中,我们都会是不是用到Git,今天我就总结了一些Git常见命令。若有些木有的,可以使用git help 获取到git的常见命令,那我们接下来就从git help 中的介绍常见命令。 一:建立本地仓库…

TCP 与 bufferbloat

说到既能降低成本,又能降低时延,总觉得这在 pr,兜售自己或卖东西。毕竟哪有这么好的事,鱼与熊掌兼得。可事实上是人们对 buffer 的理解错了才导致了这种天上掉馅饼的事发生。 人们总觉得 buffer 越大越好,buffer 越大…

Maven安装教程以及修改下载镜像源等配置

第一步:下载maven(本教程安装的是3.8.4) 官方下载链接:Maven – Download Apache Maven Binary是可执行版本,已经编译好可以直接使用。 Source是源代码版本,需要自己编译成可执行软件才可使用。 我们选择…

【WSN定位】基于RSSI的加权质心定位算法【Matlab代码#14】

文章目录 1. 原始质心定位算法2. 基于RSSI的加权质心定位算法基本思想3. 基于RSSI的加权质心定位算法流程图4. 部分代码展示5. 运行结果展示6. 资源获取 1. 原始质心定位算法 可参考质心定位算法 2. 基于RSSI的加权质心定位算法基本思想 传统的质心算法在求解过程中只是将未…

Windows逆向安全(一)之基础知识(十六)

指针三 通过先前指针的学习,了解了指针和地址以及数据的关系,现在结合先前的知识继续学习巩固 指针遍历数组 有了先前的基础,再来看看如何用指针遍历数组 代码 #include "stdafx.h" void function(){short arr[5]{1,2,3,4,5};…

【ARM Coresight 4 - Rom Table 介紹】

文章目录 1.1 ROM Table1.1.1 Entry 寄存器 1.2 ROM Table 例子 1.1 ROM Table 在一个SoC中,有多个Coresight 组件,但是软件怎么去识别这些 Coresight 组件,去获取这些Coresight 组件的信息了?这个时候,就需要靠 Core…

COPU助力北大研究生开源公选课丨2023开源PostgreSQL内核开发通识课顺

COPU & Peking Univerisity 导读:2020年1月COPU(中国开源软件推进联盟)成员开会讨论面向高校的开源示范课程,由联盟副秘书长北京大学荆琦老师牵头筹备,并首先在北大软微学院试点。本次是中国PostgreSQL分会联合…

尚硅谷_宋红康_第14章_数据结构与集合源码

第14章_数据结构与集合源码 本章专题与脉络 1. 数据结构剖析 我们举一个形象的例子来理解数据结构的作用: [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bgDcr8wF-1682075329317)(images/image-20220412011531879.png)] **战场&#x…