选择40万条记录的java堆大小错误

选择40万条记录的java堆大小错误,java,mysql,Java,Mysql,我的电脑上有2gb内存。这是Windows7 使用eclipse for java 当我运行一个程序,在有40万条记录的mysql数据库上运行select查询时,它会给出堆大小错误。 这是我现在的eclipse.ini -vmargs -Xmx1000m -XX:MaxPermSize=256m -XX:ReservedCodeCacheSize=64m 我能做什么?您是在Eclipse插件中运行查询,还是使用Eclipse运行Java程序?在后一种情况下,eclipse.ini中的设置不会被

我的电脑上有2gb内存。这是Windows7 使用eclipse for java 当我运行一个程序,在有40万条记录的mysql数据库上运行select查询时,它会给出堆大小错误。 这是我现在的eclipse.ini

-vmargs
-Xmx1000m
-XX:MaxPermSize=256m
-XX:ReservedCodeCacheSize=64m

我能做什么?

您是在Eclipse插件中运行查询,还是使用Eclipse运行Java程序?在后一种情况下,
eclipse.ini
中的设置不会被继承。您必须在应用程序的启动配置中重复上述操作。

编辑:您正在谈论您的eclipse.ini?当然,您应该使用调试配置来指定参数:

运行>调试配置…>[您的配置]>参数>虚拟机参数

一排有多大?1000 MB/400000条记录=每行最多2,5 KB(因为不能使用整个堆,所以会更少)

(注意我使用了1MB=10^6字节)


如果行很小,请使用-XX:+HeapDumpOnOutOfMemoryError运行应用程序,并使用后一种情况分析生成的堆转储。我正在使用eclipse运行java程序。如何设置程序的启动配置。使用“运行”菜单并单击“运行配置…”。您将获得一个对话框,可以在其中修改传递给您的程序的选项和传递给VM的选项。您的eclipse.ini设置不相关,如果您从eclipse内部运行您的程序,它将在自己的JVM中启动。ini设置仅适用于eclipse本身,不适用于您自己的程序。