向数据库插数据时到9万条左右发生的异常,找不到原因,下面是具体的异常信息

Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
at com.mysql.jdbc.PreparedStatement.(PreparedStatement.java:437)
at com.mysql.jdbc.Connection.clientPrepareStatement(Connection.java:2187)
at com.mysql.jdbc.Connection.prepareStatement(Connection.java:4829)
at com.mysql.jdbc.Connection.prepareStatement(Connection.java:4734)
at tree.database.MySQLCor.insert(MySQLCor.java:263)
at tree.parse.FileParser.parse(FileParser.java:159)
at tree.parse.OneParser.parse(OneParser.java:54)
at tree.test.Main.main(Main.java:39)

OutOfMemoryError很常见的一种错误。JVM内存设置的小了。修改下启动内存。参见http://www.cnblogs.com/yyyyy5101/articles/1898737.html

可能需要对每个project单独设置一下:

 一直都知道可以设置jvm heap大小,一直用eclipse写/调试java程序。一直用命令行or console加参数跑程序。现象:在eclipse的配置文件eclipse.ini中设置-vmargs -Xms500m -Xmx1024m,在eclipse中直接run 或者debug某些耗内存的程序时依然出现java.lang.OutOfMemoryError: Java Heap Space错误,即通常认为的内存不足,java虚拟机内存不够用。而在命令行加这些参数则有效果,不会出错。这说明一个问题,这些参数根本没有起作用。今天需要在eclipse里调试程序,还没到需要调试的地方就heap error了,在网上搜了很多地方,得到了最终的答案:
 选中被运行的类,点击菜单‘run->run...’,选择(x)=Argument标签页下的vm arguments框里
 输入 -Xmx800m, 保存运行。
 原来还需要对每个project单独设置

报内存溢出啊,内存不够

报内存溢出啊,内存不够

在你插入数据执行的代码中,进行检查是否将打开数据连接操作放到循环体内,且用完之后无及时关闭,这样很容易导致连接数据库的资源太多,资源得不到释放,打开句柄的数过多,导致的。