备忘

不要一个函数干很多事情

循环中不要创建对象, 不要try catch

不要在经常调用的方法中创建对象

尽量返回接口而非实际的类型(面向抽象)

属性用变量定义,行为用方法定义

 减少对变量的重复计算[for(int i=0;i<list.size();i++) ==> for(int i=0, int length=list.size();i<length;i++) ]

1、动态语言:程序在运行时可以改变其结构,新的函数可以被引进,已有的函数可以被删除,类型的检查在运行时做。
静态语言:类型的检查在运行前做(如编译)。
强类型语言:强制数据类型定义的语言。一个变量被指定某个数据类型,不经转换就永远使这个类型。
弱类型语言:数据类型可以被忽略的语言,一个变量可以赋不同类型的值。


2、脚本语言是一种解释性的语言(又被称为扩建的语言,或者动态语言),例如Python、vbscript,javascript,installshield script,ActionScript等等,它不象c\c++等可以编译成二进制代码,以可执行文件的形式存在,脚本语言不需要编译,可以直接用,由解释器来负责解释。

 

因为如果是server端主动断掉当前连接的话,那么双方关闭这个TCP连接共需要四个packet
  server -> FIN -> client
  server <- ACK <- client
  这时候server端处于FIN_WAIT_2状态,而我们的程序处于CLOSE_WAIT状态
  server <- FIN <- client
  这时client发送FIN给server,client就置为LAST_ACK状态。
  server -> ACK -> client
  server回应了ACK,那么client的套接字才会真正置为CLOSED状态

posted @ 2015-05-11 09:59  Earic  阅读(182)  评论(0编辑  收藏  举报