Eclipse下OutOfMemoryError:Java Heap Space问题解决方法

在用Eclipse 开发java 程序的过程中,如果写程序不注意,一下处理大量数据,很有可能出现 ava.lang.OutOfMemoryError 这样的错误,比如
程序代码 程序代码

List<Domain> list = domainBo.findAllDomain(100000);
  for(Domain domain : list){
    process(domain.getDomainName());
  }


可能出这样的错误:

程序代码 程序代码

Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
    at java.util.HashMap.<init>(HashMap.java:209)
    at java.util.LinkedHashMap.<init>(LinkedHashMap.java:181)


出现这样的错误在 Eclipse 中的解决方法其实与配置 application server 中的方法一样, 参数都是一样的,都是配置 VM 参数, 只是配置的地方不同而已.

解决办法,在Eclipse菜单上点击 run -> run Configurations.., 选择你要运行的java 工程,点击 Arguments Tab页,写入参数.-Xms512M -Xmx1024M



一个错误的想法
看到有人说修改Eclipse IDE 安装目录下的eclipse.ini 文件就可以。这个想法是错的,这个配置文件中的参数是分配给Eclipse 用的,而不是我们的应用程序用的,所以这个想法错误. 一个常用的 eclipse.ini 文件内容如下:
程序代码 程序代码

-startup
plugins/org.eclipse.equinox.launcher_1.1.0.v20100507.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.1.R36x_v20100810
-product
org.eclipse.epp.package.jee.product
--launcher.defaultAction
openFile
--launcher.XXMaxPermSize
256M
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms512m
-Xmx1024m


PS, 另外如果用 TOMCAT 或者 JBOSS 应用服务器的话,应该都有一个配置叫 JAVA_OPTS 的参数配置项,也可以设置内存使用。一般这个设置好了,很少出现 outofMemory 错误。



除非申明,文章均为一号门原创,转载请注明本文地址,谢谢!
[本日志由 轻舞肥羊 于 2013-11-18 09:05 PM 编辑]
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags: java outofmemory
相关日志:
评论: 0 | 引用: 0 | 查看次数: -
发表评论
昵 称:
密 码: 游客发言不需要密码.
内 容:
验证码: 验证码
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.