Java-查看运行时对象占用内存
一、查看项目运行时的进程ID
jps
![在这里插入图片描述](https://img-blog.csdnimg.cn/b2b694ccac6041b9ba2a522d722c318d.png)
二、导出运行信息到二进制文件中
# 选择想要查看程序的进程ID,例如
jmap -dump:format=b,file=heap.bin 20772
不能在系统目录中创建,会提示权限不足!!!
![在这里插入图片描述](https://img-blog.csdnimg.cn/81da5c155458431887a59b0d401017fb.png)
成功后如图:
![在这里插入图片描述](https://img-blog.csdnimg.cn/eb2bfd8e919748fb843edbfe6e0d3d6f.png)
三、jhat解析文件并启动查看程序
jhat -J-Xmx1024m heap.bin
成功后:
![在这里插入图片描述](https://img-blog.csdnimg.cn/30e199afd7504f76b2e446c19f8f02fb.png)
四、查看
Total Size就是对象占用内存的大小(Bytes)
![在这里插入图片描述](https://img-blog.csdnimg.cn/6d8a3c97c2e24d00b171f19ce3e940fd.png)
想要查看某个对象,直接浏览器“Ctrl+f”搜索即可
![在这里插入图片描述](https://img-blog.csdnimg.cn/a63f11b0c53d432cafd2eae7caf64a59.png)
可以查看对象内部,成员变量的值和占用内存的大小
![在这里插入图片描述](https://img-blog.csdnimg.cn/0f2fc9d18fe84e3cac04a017ceeb19c6.png)
关闭运行窗口后程序关闭