最近遇到了java heap space错误。
这个问题的原因,其实还是堆溢出了。
解决这个问题
1 首先我们考虑,在代码中哪里使用了较多的对象,但是又没有及时回收。
2 我们可以通过 jvisualvm.exe 工具去查看
我们先到jdk文件夹中的bin目录找到jvisualvm.exe。双击运行
然后找到我们运行的java程序,双击进入
然后按照下面,选择监视,cpu/内存,堆 Dump
然后,选择类,按照大小排序,找到消耗最大的对象,右键在实例视图中显示
这里我找的是int[],反正几个大对象,都要查看的
找到上图中类型里的相关信息,了解到image是主要原因
然后到程序代码中,去找相关image,手动在最后设置为Null