首页
归档
留言
友链
广告合作
壁纸
更多
美女主播
Search
1
博瑞GE车机升级/降级
5,641 阅读
2
Mac打印机设置黑白打印
5,035 阅读
3
修改elementUI中el-table树形结构图标
4,940 阅读
4
Mac客户端添加腾讯企业邮箱方法
4,701 阅读
5
intelliJ Idea 2022.2.X破解
4,422 阅读
后端开发
HarmonyOS Next
Web前端
微信开发
开发辅助
App开发
数据库
随笔日记
登录
/
注册
Search
标签搜索
Spring Boot
Java
Vue
Mac
Spring Cloud
MyBatis
WordPress
MacOS
asp.net
Element UI
Nacos
MySQL
.Net
Spring Cloud Alibaba
Mybatis-Plus
Typecho
jQuery
Java Script
IntelliJ IDEA
微信小程序
Laughing
累计撰写
629
篇文章
累计收到
1,421
条评论
首页
栏目
后端开发
HarmonyOS Next
Web前端
微信开发
开发辅助
App开发
数据库
随笔日记
页面
归档
留言
友链
广告合作
壁纸
美女主播
搜索到
1
篇与
的结果
2025-04-20
jhsdb:基于服务性代理的调试工具
JHSDB是一款基于服务性代理实现的进程外调试工具。服务性代理是HotSpot虚拟机中一组用于映射Java虚拟机运行信息的API集合。通过服务性代理,可以在一个独立的Java虚拟机进程里分析其他HotSpot虚拟机的内部数据,或者从HotSpot虚拟机进程内存中dump出来的转出快照里还原出虚拟机当时的运行状态细节。下面我们通过实际代码演示一下JHSDB常见的使用命令。壹、准备演示代码public class JHSDB_TestCase { static class ObjectHolder { } static class Test { static ObjectHolder staticObjectHolder = new ObjectHolder(); ObjectHolder instanceObjectHolder = new ObjectHolder(); void foo() { ObjectHolder localObjectHolder = new ObjectHolder(); System.out.println("done"); } } public static void main(String[] args) { Test test = new Test(); test.foo(); } }贰、查看VMID为了查看虚拟机信息,我们需要先知道虚拟机的进程ID,我们通过下面的命令查看VMIDjps -l叁、jhsdb常见使用命令一、hsdbjhsdb hsdb命令用于打开可视化可视化监控页面jhsdb hsdb命令格式如下jhsdb hsdb <pid>打开可视化界面jhsdb hsdb --pid 19825 二、jmapjmap命令用于生成堆转储快照,与JDK自带的jmap命令类似。jhsdb jmap命令格式如下jhsdb jmap [--pid pid | --exe executable --core coredump] [options]其中options包括--heap to print java heap summary //显示Java堆详细信息--binaryheap to dump java heap in hprof binary format--dumpfile name of the dump file //导出 Java 虚拟机堆的快照,生成文件--histo to print histogram of java object heap //打印 Java 对象堆的直方图--clstats to print class loader statistics //打印 Java 堆的类加载器统计信息--finalizerinfo to print information on objects awaiting finalization //打印有关等待完成的对象的信息查看堆栈信息jhsdb jmap --pid 14383 --heap转储堆栈快照除了查看堆栈信息,我们也可以转储堆栈信息。jhsdb jmap --pid 14383 --binaryheap --dumpfile /users/lisen/downloads/heap.bin查看class信息可以查看instances(实例数)、bytes(大小)、class name(类名)等信息jhsdb jmap --pid 14383 --histo 三、jinfojinfo命令用于实时查看和修改虚拟机各项参数。jhsdb jmap命令格式如下jhsdb jinfo <option> <pid>其中option包括以下内容flags:查看所有虚拟机参数sysprops:查看Java系统属性值输出虚拟机参数jhsdb jinfo --pid 14383 --flags输出Java系统属性jhsdb jinfo --pid 14383 --sysprops 四、jsnapjsnap打印性能计数器信息。jhsdb jsnap 命令格式如下jhsdb jnap <option> <pid>打印性能计数信息jhsdb jsnap --pid 14383 五、jstackjhsdb jstack打印线程信息jhsdb jstack命令格式如下jhsdb jstack <pid> <option>其中option包括以下内容locks:打印线程信息mixed:尝试打印Java栈与本地方法栈的信息(需操作系统支持)打印锁信息jhsdb jstack --locks --pid 14383
2025年04月20日
12 阅读
0 评论
0 点赞