Java高级面试-IO

一、java网络编程

1.基础知识

1)ip地址和端口号

2)tcp/udp协议

3)URL同一资源定位器

 Java高级技术-IO

4)InetAddress

 

2.socket

1)创建socket实例

 Java高级技术-IO

2)客户端链接

①创建Socket对象

②连接建立后,通过输出流向服务端发送请求信息

③通过输入流获取服务器响应的信息

④关闭响应资源

 Java高级技术-IO

 

3)服务端连接

①创建ServerSocket对象,绑定监听端口

②通过accept()方法监听客户端请求

③连接建立后,通过输入流读取客户端发送的请求信息

④通过输出流向客户端发送信息

⑤关闭相关资源

 Java高级技术-IO

 

4)总结

①创建ServerSocketSocket

②打开连接到Socket的输入/输出流

③按照协议对Socket进行读/写操作

④关闭输入输出流、关闭Socket

 

二、阻塞IO

1.javaI/O接口

1)基于字节操作的I/O接口(InputStream\OutputStream

2)基于字符操作的I/O接口(Writer\Reader

3)基于磁盘操作的I/O接口(File

4)基于网络操作的I/O接口(Socket

 

2.阻塞IO的通信模型

1)通信模型示意图

 Java高级技术-IO

 

3.总结

1)BIO数据在写入OutputStream或者从InputStream读取时都有可能会阻塞

2)当前一些需要大量HTTP长连接的情况

3)需要另外一种新的I/O操作方式

 

三、NIO

1.工作原理

 Java高级技术-IO

 

 

2.通信模型

 Java高级技术-IO

 

3.实例

 

客户端:

 Java高级技术-IO


 Java高级技术-IO

 

服务器端:

 Java高级技术-IO

 Java高级技术-IO

 Java高级技术-IO

相关文章:

  • 2021-10-16
  • 2021-09-06
  • 2021-07-18
  • 2021-05-05
  • 2021-10-27
  • 2021-09-26
  • 2022-12-23
猜你喜欢
  • 2022-02-26
  • 2021-11-30
  • 2021-05-02
  • 2022-02-07
  • 2021-05-31
  • 2021-08-10
  • 2021-10-03
相关资源
相似解决方案