相比UDP,tcp协议是如何保证可靠性的?
TCP协议
1)面向连接的可靠的传输控制协议,连接的建立需要三次握手,连接的释放需要进行四次握手才能保证连接的建立,数据的同步传输。
2)面向字节流,会把从上层传输下来的数据当作是无结构的字节流。
3)一对一的通信。
4)TCP在IP协议的基础之上添加了序号机制,确认机制,超时重传机制,数据校验,从而保证传输的可靠性,同时保证不出现丢失或者是乱序。
UDP协议
1)无连接的数据包服务,一方向另一方发送数据不需要建立连接。相当于发短信,别人是否收到,短信信息是否丢失都不能知道。
2)面向报文的,从上层接收的数据如果报文不大于传输限制,则直接加上首部传输,如果报文过大,则进行IP分片后,再分别加入首部进行传输。
3)UDP协议可以一对一通信,同时可以一对多通信。
4)UDP仅仅是尽最大的努力进行交付,只是做比较初级的检查,比如端头检查,差错检测,往往在传输过程中会出现分组丢失、乱序、重复传输等问题。
垃圾回收器:
介绍下 serial 和G1 收集器