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