面试问题4IO网络编程

学习笔记


IO按流向分
输入流:InputStream
输出流:OutputStream
按处理单元来分
字节流:InputStream,OutputStream(所有文件都能够处理)
FileInputStream,FileOutputStream
ByteArrayInputStream,ByteArrayOutputStream
BufferedInputStream,BufferedOutputStream
字符流:Reader,Writer,按照字符去处理,只能处理文本文件
FileReader,FileWriter
BufferedReader,BufferedWriter

BIO,NIO,AIO有什么区别
BIO 同步阻塞IO
NIO 同步非阻塞IO,是现在用的非常多的服务IO模型(多路复用)
NIO单线程模型,多线程模型,主从线程模型
AIO 异步非阻塞IO,用的不是特别多

什么时候使用字节流,什么时候使用字符流
查看文本内容的时候使用字符流,其他通通使用字节流

http301和302有什么区别
都是重定向,301是永久性的重定向,无伤害的,302是临时性的重定向,有伤害的

简述tcp和udp的区别
tcp:面向连接的协议,可靠地,面向流的协议,用于比较稳定的,对数据有效性很高要求的地方,一次只和一个对象建立连接
udp:面向无连接的协议,不可靠的,基于数据报,会出现数据丢失,无需太关注数据稳定性,应用于:书品,直播

三次握手
1.SYN(同步标志位)=1,seq(序列号)=x
2…SYN(同步标志位)=1,ACK(确认标志位)=1,seq=k,ack=x+1
3.ACK=1,ack=k+1

四次挥手
1.FIN,seq=p
2.ACK,ack=p+1
3.FIN,ACK,seq=q,ack=p+1
4.ACK,ack=q+1

七层网络协议
物理层,数据链路层,网络层,传输层,会话层,表示层,应用层

发布了16 篇原创文章 · 获赞 1 · 访问量 413

猜你喜欢

转载自blog.csdn.net/qq_39898191/article/details/100025751