Java IO流

最后一次更新时间:Sunday, September 20th 2020, PM

 

分类

  • 基于字节:InputStream / OutputStream
  • 基于字符:Reader / Writer
  • 磁盘操作:File
  • 网络操作:Socket

 

 

 

IO(BIO)

线程间是线性关系,效率低,易成为性能瓶颈。

面向流

同步阻塞

NIO

Java1.4引入。

提供了新的三大特性:

  1. Buffer(数据)
  2. Channel(运输)
  3. Selector

面向缓冲区

同步非阻塞

AIO

Java1.7引入。

提供了异步机制(基于回调)。

异步非阻塞

 

 

 

阻塞与非阻塞

指的是Client
阻塞:Client发出请求,在得到回应前只能等待。
非阻塞:Client发出请求,在得到回应前可以做别的事(例如发送别的请求)。

同步与异步

指的是Server
同步:Server接收请求,在返回结果前不能接受其它请求。
异步:Server接收请求,在返回结果前可以接收其他请求。


除特别声明外,本站所有文章均采用 CC BY-SA 4.0 协议 ,转载请注明出处!