数据库数据太多,查询时发生java heap space错误.
数据库有大量数据.一次性查询出全部时,要报java.lang.OutOfMemoryError: Java heap space错误.如果用for循环来分批查询,每次查询1/10出来.虽然会更耗费资源,请问这样报以上错误的几率是否会小些. --------------------编程问答-------------------- 要看你最终可能使用多少数据,还要看效率究竟有多重要,要权衡
内存可以调,启动程序的时候加上-Xmx1024m,那JVM可以使用至多1G内存。
--------------------编程问答--------------------
set JAVA_OPTS=-Xms512m -Xmx1024m -XX:PermSize=128m -XX:MaxPermSize=256m
把这句话放到Tomcat/bin/catalina.bat 文件里面;
或者
设置Eclipse Menu——>Preferences——> java ——>Installed JREs
Default VM Arguments:-Xms512m -Xmx1024m -XX:PermSize=128m -XX:MaxPermSize=256m
--------------------编程问答-------------------- --------------------编程问答-------------------- 楼上的都在误导啊。
大数据量已经产生内存溢出了,还跟他说扩展 JVM 内存?如果数据再多呢?那就是无底洞了!
应该使用一页一页地查询,比如每次查询 1000 条,一共查询 N 次就可以了。 --------------------编程问答--------------------
非常赞同。
不过有一点难以搞定的是,如果查询次数多了,在查询间歇期如果出现数据增删操作,可能导致最后的查询结果有误差,不晓得怎么解决比较好?俺是没想到啥好法子,呵呵~
补充:Java , Java SE