大家好,有没有谁遇到过这种情况,程序运行过一段时间之后,当我再执行preparedstatement的executeupdte,executebatch等方法时,程序就卡死了,就是进入这个方法以后,再也不出来了,也不报错,也不报异常,大家谁遇到过这种情况,或者大侠们说说可能的原因有哪些,该关闭的地方都关闭了,而且我记得如果没关闭,运行久了之后,是会报内存溢出的。

解决方案 »

  1.   

    一种情况:你同时开启的事物太多,session受不了了。
    另一种情况:你程序里面有死循环
    第二种可能性比较大
      

  2.   

    把你的代码try catch 一下,看有没有什么异常,楼上说的死循环也可能是一种情况
      

  3.   

    如果是非受检异常,还需要我try catch吗、??如果不是,我必须 已经 try catch 啦。executeupdate抛出的不就是sqlexception吗、
      

  4.   

    你的Oracle是多少版本的?9i以后的应该能自动干掉死锁,让某个事物失败掉。查阻塞的话,有专门的SQL语句,可以去Google下。另外,初学者偷懒的话,可以装个SpotLight for Oracle,提供大量性能监控功能。