finally块中的代码是不管是不是会发现异常都会去执行
如果不在final中释放,如果有了异常,就不会释放资源了!

解决方案 »

  1.   

    没有finally块,资源也可以通过JVM的垃圾回收机制进行释放。
      

  2.   

    finally块中的代码总是会执行,不管有无异常发生。
    如果不在final中释放资源,当有了异常,就不会释放资源了.
      

  3.   

    JVM的垃圾回收机制??
    靠他?没人知道它什么时候去执行!可能资源已经耗尽了!
      

  4.   

    象文件的读写和数据连接这些最好是在finally里关闭
      

  5.   

    ......楼上的各位兄弟,你们以为JVM的GC是神仙吗?它只管内存的,像什么端口啦,打开的文件啦,还有数据库连接啦,这些系统资源统统都是不管的哦。你不在finally释放的话就麻烦咯。
      

  6.   

    如果没有加finally块会有什么严重后果?
    答:个人认为没有任何不良后果。一切照常已分配的资源还能正常释放吗?
    答:可以正常释放
      

  7.   

    现在我就遇到问题了
    使用STRUCTS1。1+TOMCAT
    程序执行到第12遍的时候就资源耗尽
    实在不知道是哪里出了问题
    在做WEB程序的时候有什么要注意的地方吗?
    我的STATEMENT RESULTSET CONNNECTION都释放了的啊
    程序中数据量非常大
    我先采用SESSION传到客户端的
    后来改放到REQUEST里
    可还是没好转
    555555555~~~~~~~~~~~~~
      

  8.   

    finally总能被执行,如下,即使try里头有return,同样能保证finnaly被执行,所以finally通常用于释放不打算再用的资源等....
    try{
    return;
    }
    catch(Exception e){e.print.....}
    finally{
    System.out.println("finally");
    }
      

  9.   

    如果你的对象NEW创建,正常情况下,JVM会自动释放你的内存的。不过对于数据库,最好还是最后用finally释放连接。