做了一个软件是用swing实现的界面,一直运行正常,但是最近出现了,界面会卡死的问题,使用各种方法,无果,最后把数据库中的三个表中的数据清空,界面恢复正常。但是现在想重现这种情况,无论在数据库中添加多少数据,界面也不会出现卡死的情况了,为了防止再次发生该问题,请问各位Swing程序界面卡死是什么原因造成的?和数据库中的数据是否有关?

解决方案 »

  1.   

    写个脚本再添加3万条数据,然后再测试看看
    出现卡死估计是你的循环处理一直抢占CPU,可以考虑在循环中Thead.yield()释放一下CPU
      

  2.   

    界面卡死,在AWT-THREAD里面处理数据了?
      

  3.   

    界面卡死  ?
    是你cpu偏高 程序卡死  还是界面没有及时刷新?
      

  4.   

    已经在每个表中都做了3万条数据了,但是依然没有出现。CPU和内存都不高,内存占用100MB cpu几乎没有占用
      

  5.   

    cpu占用不高,就是界面怎么点都没有反应了,操作系统上的其他程序都正常,没有受到影响。
      

  6.   

    那就应该是你对组件进行操作后(增/减数据)没有进行界面刷新造成的如果你把界面最小化 然后又恢复, 如果界面正常了 就说明是这个情况  。每次对界面进行操作后 调用 validate();和repaint();  对界面进行刷新。
      

  7.   

    原因是AWT Event线程被阻塞了,即在UI线程里面做了很多事情,导致UI event不能被及时处理,所以界面看起来就卡住了