无限while while给出java.lang.OutOfMemoryError:Java堆空间

时间:2014-04-11 10:22:19

标签: java

如果我想运行一个while循环到无穷大,我正在获得Java堆空间,但我正在使用“系统垃圾清理器”来清理内存。那我怎么能解决这个问题呢。

try{
    while(true){
        try{
            attach=sample.readMails();         
            System.gc();
        }
        catch (IOException e){
            // TODO Auto-generated catch block
            e.printStackTrace();
            System.out.println("Error In  readMails-->downloads");
        }
    }
}catch (Exception e){
    // TODO Auto-generated catch block
    e.printStackTrace();
    System.out.println("Error In  Infinite While");
}

1 个答案:

答案 0 :(得分:0)

System.gc仅适用于未使用的对象。 根据{{​​3}}

的文件
  

调用gc方法表明Java虚拟机耗费   努力回收未使用的物体以制造记忆   它们目前可以快速重复使用。