Eclipse下OutOfMemoryError:Java Heap Space问题解决方法
By:Roy.LiuLast updated:2013-11-18
在用Eclipse 开发java 程序的过程中,如果写程序不注意,一下处理大量数据,很有可能出现 ava.lang.OutOfMemoryError 这样的错误,比如
可能出这样的错误:
出现这样的错误在 Eclipse 中的解决方法其实与配置 application server 中的方法一样, 参数都是一样的,都是配置 VM 参数, 只是配置的地方不同而已.
解决办法,在Eclipse菜单上点击 run -> run Configurations.., 选择你要运行的java 工程,点击 Arguments Tab页,写入参数.-Xms512M -Xmx1024M
一个错误的想法
看到有人说修改Eclipse IDE 安装目录下的eclipse.ini 文件就可以。这个想法是错的,这个配置文件中的参数是分配给Eclipse 用的,而不是我们的应用程序用的,所以这个想法错误. 一个常用的 eclipse.ini 文件内容如下:
PS, 另外如果用 TOMCAT 或者 JBOSS 应用服务器的话,应该都有一个配置叫 JAVA_OPTS 的参数配置项,也可以设置内存使用。一般这个设置好了,很少出现 outofMemory 错误。
Listlist = domainBo.findAllDomain(100000); for(Domain domain : list){ process(domain.getDomainName()); }
可能出这样的错误:
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space at java.util.HashMap.(HashMap.java:209) at java.util.LinkedHashMap. (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 错误。
From:一号门
Previous:java 与富文本编辑器 fckeditor 结合的例子(源码下载)
COMMENTS