HSDB工具的使用说明

Java对象信息对开发者来说并不是透明的,需要借助工具来更好查询对象的运行情况,这里我们带来HSDB工具。

演示

打开工具过程

  1. 工具是JDK自带的:目录:jdk1.8.0_20\lib\sa-jdi.jar。

  2. 使用cmd,并且切换到Jar所在目录:C:\Program Files\Java\jdk1.8.0_20\bin 。

使用命令提示符在当前jdk目录下的lib下面

  1. 执行命令下面,会自动弹出一个界面。
perl 复制代码
java -cp sa-jdi.jar sun.jvm.hotspot.HSDB

界面如下:

  1. 准备一个测试案例看看如何使用该工具
java 复制代码
import java.io.IOException;

public class HsdbDemo {
    public static final int i = 2;
    public static void main(String[] args) throws IOException, InstantiationException, IllegalAccessException {
        HsdbDemo hsdbDemo = new HsdbDemo();
        System.out.println(i);
        System.in.read();
    }
}

写了一个死循环,把他运行起来,然后执行jps 命令。

jps -- 查询进程的id

找到我们需要的进程号(对应的类名称HsdbDemo),将该进程号填入HSDB工具中。

点击Ok后会出现报错:

提示缺少sawingdbg.dll,该文件在jre/bin目录下:

移动到jre1.8.0_20\bin文件所在的目录下面,从新运行命令并且加入进程号就能看到如下界面。



  1. 查看对象信息

点击打开

我们要根据内存地址找到Java底层对应的对象

输入内存地址并且点击compute Liveness。

相关推荐
努力d小白几秒前
java 数据类型
java
色空大师几秒前
【微服务项目-短信平台】
java·redis·微服务·rabbitmq·springcloud·短信
我命由我1234511 分钟前
Android Jetpack Compose - SearchBar(搜索栏)、Tab(标签页)、时间选择器、TooltipBox(工具提示)
android·java·java-ee·kotlin·android studio·android jetpack·android-studio
light blue bird14 分钟前
主从执行端动机模块工序协同组件
jvm·数据库·.net·桌面端
276695829218 分钟前
token1005 算法分析
java·前端·javascript·token·token1005·携程酒店·token算法分析
海寻山19 分钟前
Java内部类:4种类型+实战场景+面试避坑
java·开发语言·面试
Lsk_Smion23 分钟前
Hot100(开刷) 之 长度最小的数组--删除倒数第N个链表--层序遍历
java·数据结构·算法·kotlin
2601_9507039432 分钟前
PyCharm性能优化终极指南
java
xcjbqd038 分钟前
Python中Pandas如何将DataFrame写入MySQL_使用to_sql函数
jvm·数据库·python
yzp-41 分钟前
Spring 三级缓存 ---- 简单明了豆包版
java·mysql·spring