数据库有大量数据.一次性查询出全部时,要报java.lang.OutOfMemoryError: Java heap space错误.
如果用for循环来分批查询,每次查询1/10出来.虽然会更耗费资源,请问这样报以上错误的几率是否会小些.

解决方案 »

  1.   

    要看你最终可能使用多少数据,还要看效率究竟有多重要,要权衡内存可以调,启动程序的时候加上-Xmx1024m,那JVM可以使用至多1G内存。
      

  2.   


    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
      

  3.   

    楼上的都在误导啊。大数据量已经产生内存溢出了,还跟他说扩展 JVM 内存?如果数据再多呢?那就是无底洞了!应该使用一页一页地查询,比如每次查询 1000 条,一共查询 N 次就可以了。