java.lang.OutOfMemoryError:Java heap space问题
由于程序中用到分词,要调入词库,需要的内存有点大
在单独运行类的时候没有发现问题,当集成在一起时,却出现了:
Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: Java heap space
在网上查了好多资料,解释基本上的答案是:
1、设置环境变量
set JAVA_OPTS= -Xms32m -Xmx512m
可以根据自己机器的内存进行更改,但本人测试这种方法并没有解决问题。可能是还有哪里需要设置。
2、java -Xms32m -Xmx800m className
就是在执行JAVA类文件时加上这个参数,其中className是需要执行的确类名。(包括包名)
这个解决问题了。而且执行的速度比没有设置的时候快很多。
如果在测试的时候可能会用Eclispe 这时候就需要在Eclipse ->run -arguments 中的VM arguments 中输 入-Xms32m -Xmx800m这个参数就可以了。
主要问题是JAVA的堆栈设置太小的原因。
在网上的解决办法中,没有提到Jbuilder2006
(我在想可能有以下原因:
1、这个问题太简单,没人当它是问题;
2、用JBuiler的人太少了,很多人都说在用Eclipse,我也在想什么时候改用Eclipse算了,用的人多,问题也好解决些)
在JBuiler2006中找了好多菜单想设置下JVM的堆栈,却找不到,最后发现真的很简单,只怪自己笨了。
解决办法:Run-->Configurations,在Runtime Configurations 中选类 -->"Edit",在VM parameters中输入:-Xms128m -Xmx256m
其实就是在网上查到的方法(2),怪自己不能移植到JBuilder中,看来IDE用多了,有些很简单的问题也变成问题了