因为工作需要,写一个小程序,大概只有200行代码,但是里面有大量的字符串操作。
程序运行一段时间之后就会停住不往下走,没有任何异常情况。其中我并没有鼠标点住
控制台,也担心写程序的时候怕耗内存太多,适时调用了System.gc()。但是还是会有同样的
情况发生。有没有人遇到过类似的问题啊?请教一下,多谢!

解决方案 »

  1.   

    最好贴点代码
    如果有过多的字符串操作是否可考虑用StringBuffer
      

  2.   

    能用StringBuffer的地方我都使用的StringBuffer,而且StringBuffer只是在相加,Replace
    等一些操作的时候才性能比String好,但是我的程序里面那些很少!大部分是split,indexOf
    操作!
      

  3.   

    听上去象是死循环。如果 JRE 本身出了毛病,异常也可能无法报告。
      

  4.   

    谢谢各位,问题解决了,因为程序中调用了一个第三方的Object,换掉就OK了。
      

  5.   

    你最好别用gc,让系统自己去干。每次计算gc,对堆的操作很好费时间。况且这种app应用的东西,在堆里面清理是比较快的。你去掉gc然后看看自己的运行时内存耗费量。
    至于卡住,如果不会死机,我想最有可能的是字符串拼接。你尝试少用“+”看看怎么样。
    字符串其他操作都是很好的封装的,不会出问题。
      

  6.   

    没有任何异常情况
    =================
    捕捉的异常,有输出么?千万不要是空的
    另外,为什么不debug一下呢?!