SDK是Software Development Kit的缩写,即软件开发工具包。可以把SDK想象成一个虚拟的程序包,在这个程序包中有一份做好的软件功能,这份程序包几乎是全封闭的,通过接口联通外界,相应的接口就是API。
JDK(Java Development Kit),即Java开发工具包,是针对Java开发者的产品,JDK是SDK的一个子集,JDK已经成为使用最广泛的JAVA SDK 。JDK是整个Java的核心,包括Java运行环境JRE、一堆Java工具(javac/java/jdb等)和java基础的类库(Java API、tr.jar等)。
JAR是java的归档格式,是一个程序集,内部全是class文件,是java SDK的一种打包形式。因为SDK不限语言,不限平台,所以针对不同语言、平台都有不同的打包方式。
HTTP的长连接和短连接本质上是TCP长连接和短连接。HTTP属于应用层协议,在传输层使用TCP协议,在网络层使用IP协议。 IP协议主要解决网络路由和寻址问题,TCP协议主要解决如何在IP层之上可靠地传递数据包,使得网络上接收端收到发送端所发出的所有包,并且顺序与发送顺序一致,TCP协议是可靠的、面向连接的。
【TCP短连接】:client向server发起连接请求,server接到请求,然后双方建立连接。client向server发送消息,server回应client,然后一次请求就完成了。这时候双方任意都可以发起close操作,不过一般都是client先发起close操作。上述可知,短连接一般只会在 client/server间传递一次请求操作。
【TCP长连接】:client向server发起连接,server接受client连接,双方建立连接,client与server完成一次请求后,它们之间的连接并不会主动关闭,后续的读写操作会继续使用这个连接。TCP长连接支持Keepalive保活功能,如果客户端已经消失而连接未断开,则会使得服务器上保留一个半开放的连接,而服务器又在等待来自客户端的数据,此时服务器将永远等待客户端的数据,保活功能就是试图在服务端器端检测到这种半开放的连接。
中介者模式(Mediator Pattern):定义一个中介对象来封装系列对象之间的交互。中介者使各个对象不需要显示地相互引用,从而使其耦合性松散,而且可以独立地改变他们之间的交互。



