A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 为梦而战 黑马帝   /  2011-12-29 15:37  /  1542 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 为梦而战 于 2011-12-29 15:41 编辑

     学课程的时候我们一般被提醒用完资源后一定记的close(),比如用完输入流或输出流读写完文件后,我们还把close()放入finally{}中,一定关闭资源,以至于我们常常习惯这个动作,但是我们也知道,我们编程序是根据需求来写的,而当我们形成了这种习惯后,可能会定型思维。我也常常犯这种毛病,所以当问题发生时才恍然大悟。
    接下来举个例子来一起谨记:
    我们在使用面向连接的TCP来写客户端和服务器端,用它来现实客户端与服务器之间的通信,那我们在客户端访问完服务器端后,下次还想访问服务器,可是服务器在上一次访问完后close()了,下次就访问不到服务器了,这显然是行不通的吧。服务器是为了提供服务的,为了让它一直为客户提供服务,那服务器用完就不应该close()。想想百度为什么能让我随时访问啊,就是因为它的服务器是一直开着的,那我们将来要进行面向连接的网络编程时,在编写服务器端的程序的时候就应该注意一下我们的close()习惯了。
   当然,服务器是应该在客户访问完,close()掉客户端的连接的,因为服务器能承受的客户端数量还是有限的。

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马