Java heap space 的具体解决方法

发布网友

我来回答

4个回答

热心网友

这种情况一般是程序本身问题导致在运行中使JVM内存溢出,从而抛出此异常:

1、首先就是需要检查下自己代码问题,比如有没有死循环或者递归调用没设置停止条件等等;

2、手动设置程序运行时的JVM堆栈内存,一般都是调大些,具体方法:

 对所以工程都有效:修改eclipse根目录下的eclipse.ini文件

-vmargs  //虚拟机设置
-Xms40m //初始内存
-Xmx256m //最大内存
-Xmn16m //最小内存
-XX:PermSize=128M //非堆内存
-XX:MaxPermSize=256M

 只对当前工程有效:在Eclipse中-->右击工程/要运行的主类-->Debug As-       ->DebugConfigurations-->(x)=Arguments-->VM arguments中加入-       Xmx36m,然后Apply-->Run

这上面的36指的是给java虚拟机分配的最大堆内存大小,单位是MB,也就       是说上面的那句话的含义是JVM的最大堆内存是36MB。

如果以上方法均无效,那可能就是Eclipse本身的问题,需要重新安装。

热心网友

问题可以描述清楚点吗,比如你遇到的具体问题

这个是虚拟机内存溢出, 一般出现的原因有两个:1:程序有问题,比如死循环等一直执行。2:虚拟机的内存分配太小,建议修改虚拟机分配的内存:
Xms800m
-Xmx800m
修改配置文件中这两项的值,不能超出本机内存

热心网友

修改默认内存 只是治标不治本,比如你一个list里面 放了10w条记录 溢出了
你把内存调高点 到了15w 还是得溢出
要防止堆溢出
注意以下几点
1.代码中尽量少new 对象
2.尽可能在循环外面 创建对象
3.存数据的容器 比如array 很省空间,而像hashtable这种 就很占空间
4. 少用一些重量级的组件 比如那个calendar对象 很占空间

热心网友

内存溢出了. 吧JAVA虚拟机的内存配高点就行了.

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com