java heap space以及jvisualvm.exe 工具

最近遇到了java heap space错误。

这个问题的原因,其实还是堆溢出了。

解决这个问题

1 首先我们考虑,在代码中哪里使用了较多的对象,但是又没有及时回收。

2 我们可以通过  jvisualvm.exe  工具去查看

我们先到jdk文件夹中的bin目录找到jvisualvm.exe。双击运行

 

然后找到我们运行的java程序,双击进入

 

然后按照下面,选择监视,cpu/内存,堆 Dump

 

然后,选择类,按照大小排序,找到消耗最大的对象,右键在实例视图中显示

 

这里我找的是int[],反正几个大对象,都要查看的

 

找到上图中类型里的相关信息,了解到image是主要原因

然后到程序代码中,去找相关image,手动在最后设置为Null

原文地址:https://www.cnblogs.com/hanjun0612/p/11528933.html