我用socket连接到服务器上,作了一些操作,这中间可能会抛出异常。
那我是不是也要把socket.close()放在finally中哪?如果程序异常结束了,过一会儿socket会自己释放掉么?

解决方案 »

  1.   

    java的资源不用太担心,尤其是客户端的,程序结束总能释放的.finally中的话好,不过close出异常了也要处理.
      

  2.   

    Socket 不能指望操作系统来释放,一定要自己明确释放,否则会等到超时,对服务器应用程序而言很敏感 , 服务器是个 24 *7 的奴隶。
      

  3.   

    不能把socket.close放在finally中,因为socket.close本身也能抛出异常,应该另外关闭