【JVM】内存分析工具jhsdb( 二 )


jhsdb基本使用执行Foo.java
set =D:\ Files\\ IDEA 2021.3\jbr\bin
"%%\javac.exe" -Dfile.=UTF-8 Foo.java
"%%\java.exe" -Dfile.=UTF-8 Foojps主要用于查看java进程列表 。
启动jhsdb.exe
jhsdb.exe hsdb:图形化界面java内存分析工具( ) 。
"D:\ Files\\ IDEA 2021.3\jbr\bin\jhsdb.exe" hsdb
通过菜单Tools > Class,查看类关系:

【JVM】内存分析工具jhsdb

文章插图
通过菜单Tools >,打开直方图:
搜索类名Zi,双击打开Showof Type工具窗口,可以看到对象的内存大小为32,类对象个数为1:
选中该项,点击,查看对象内容:
我们通过菜单Tools >打开 窗口,
jhsdb:Oop-Klass分析
上面就是JHSDB工具的基本使用流程了,下面我们针对对象内存和类结构进行分析 。
1. java对象内存结构(Oop):
先看个图片,对其结构了解下 。
我们通过下图对其进行解释:
2. 类结构信息(Klass):
还是先看个网图:
从上面的图中我们可以看到,字段指向了类的信息,该数据是压缩的,将该值前面添加8,表示类地址,即0x8。