概念
NIO支持面向缓冲区的、基于通道的IO操作。NIO将以更加高效订单方式进行文件的读写操作
IO | NIO |
---|---|
面向流(Stream Oriented) | 面向缓冲区(Buffer Oriented) |
阻塞IO(Blocking IO) | 非阻塞(Non Blocking IO) |
(无) | 选择器(Selectors) |
缓存Buffer
缓冲区本质上是一个可以写入数据的内存块,然后可以再次读取,该对象提供了一组方法,可以更轻松的使用内存块,使得缓冲区读取和写入数据通常遵循以下四个步骤:
-
写数据到缓冲区;
-
调用buffer.filp()
-
从缓冲区中读取数据;
-
调用buffer.clear()或buffer.compat()方法
向缓冲区写数据
-
从Channel写入Buffer;
-
通过Buffer的put方法写入到Buffer中;
从缓冲区读取数据
-
从Buffer中读取数据到Channel;
-
通过Buffer的get方法从Buffer中读取数据。
未完(学习完善中~~~)