Java heap space 解决方法

  • Post author:
  • Post category:java


因为程序要从数据读取近10W行记录处理,当读到9W的时候就出现
java.lang.OutOfMemoryError: Java heap space 这样的错误。

在网上一查可能是JAVA的堆栈设置太小的原因。

跟据网上的答案大致有这两种解决方法:

1、设置环境变量


set JAVA_OPTS= -Xms32m -Xmx512m

可以根据自己机器的内存进行更改,但本人测试这种方法并没有解决问题。可能是还有哪里需要设置。

2、java -Xms32m -Xmx800m className

就是在执行JAVA类文件时加上这个参数,其中className是需要执行的确类名。(包括包名)

这个解决问题了。而且执行的速度比没有设置的时候快很多。

如果在测试的时候可能会用Eclispe 这时候就需要在Eclipse ->run -arguments 中的VM arguments 中输入-Xms32m -Xmx800m这个参数就可以了。

如果是 windows, tomcat 本身提供的工具(Configure Tomcat)就可以设置了 。

设置附图中红色框指示的位置就好了。

如果是unix/linux,可以

export JAVA_OPTS=”-Xms256m -Xmx512m”



版权声明:本文为wiy_dawn原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。