2019年Java面试题(六) 网络编程 2019-04-27
2019-04-27 本文已影响0人
码记
1. TCP和 UDP 的区别
tcp:面向连接的传输控制协议,具有高可靠性,确保传输数据的正确性,有验证重发机制,因此不会出现丢失或者乱序。
upd:是无连接的数据报服务,不对数据报进行检查与修改,无须等待对方的应答,会出现分组丢失,重复,乱序,但具有较好的事实性,UPD段结构比TCP的段结构简单,因此网络开销也小。
2. 什么是同步?什么是异步?
同步:
如果有多个任务或者事件要发生,这些任务或者事件必须逐个地进行,一个事件或者任务的执行会导致整个流程的暂时等待,这些事件没有办法并发的执行。
异步:
如果有多个任务或者事件发生,这些事件都可以并发的执行,一个事件或者任务不会导致整个流程的暂时等待。
事实上同步和异步是一个非常广的概念,他们的重点在于多个任务和事件发生时,一个事件的发生或执行是否会导致整个流程的暂时等待,一般来说可以通过多线程的方式来实现异步,但是千万不要将多线程和异步画上符号,异步只是一个宏观上的模式,采用多线程来实现异步的一种手段,并且通过多进程也可以实现异步
3. HTTP 和 TCP/IP 的区别?
TPC/IP协议是传输层协议,主要解决数据如何在网络中传输,而HTTP是应用层协议,主要解决如何包装数据。