异常javalangOutOfMemoryError: Java heap space

来源:百度知道 编辑:UC知道 时间:2024/05/05 06:51:41
我知道以上异常是由于JVM虚拟机的问题,上网也看了一些资料,可还是看不大明白。
系统环境变量JAVA_OPTS="-Xms64m -Xmx512m",我也设置了,可是还是不对。
谁能给我明白的讲讲啊,直接在网上贴下来的就不用了,我很笨确实看不懂。
代码应给没问题,关键是加载了50多M的影像,占用内存太大。
还有我根本没有用到tomcat.
网上查到:java -Xms256m -Xmx1024m classname,应该可行,可是我也不能每次运行都这么弄啊,有没有什么方法能设置JVM的默认堆栈大小啊?
我做的是applet,有什么方法设置applet使其自动申请较大的内存堆吗?

如果你的代码不能在优化,那么你只能java -Xms512m -Xmx1024m ClassName。
如果你使用的IDE是Eclipse,自变量-->VM自变量中添加-Xms512m -Xmx1024m。

下面是一个例子:
import java.util.*;

public class Test {
public static void main(String[] args) {
List<Integer> list = new ArrayList<Integer>();
for(int i = 0; i < 4000000; i++) {
list.add(i);
}
System.out.println("OK!");
}
}

java -Xms512m -Xmx1024m Test

其实我碰到的这种错误多数都是我代码的问题,内存溢出有时代码写的有错就会出现这样的情况,还是多看看你的代码!!!!!

楼主你是windows系统还是linux,
linux在 tomcat/bin
catalina.sh开头加上JAVA_OPTS='-Xms128m -Xmx512m',
而在window是在tomcat/bin的
catalina.bat中
rem ----- Execute The Requested Command ---------------------------------------

echo Using CATALINA_BASE: %CATALINA_BASE%
echo Using CATALINA_HOME: %CATALINA_HOME%
echo Using CATALINA_TMPDIR: %CATALINA_TMPDIR%
if ""%1"" == ""debug&qu