NIO概述
- NIO和BIO
NIO全称为: No Blocking IO,是非阻塞型IO
BIO全称为:Blocking IO,是阻塞型IO
- 阻塞IO的弊端
在等待的过程中,什么事也做不了
- 非阻塞IO的好处
不需要一直等待,当一切就绪了再去做
NIO和BIO的区别
- 区别一
BIO是堵塞的,NIO是非堵塞的
- 区别二
BIO是面向流的,NIO是面向缓冲区的
BIO中数据传输是单向的,NIO中的缓冲区是双向的
NIO的三大模板
- 缓冲区 :用来存储数据
- 通道 :用来建立连接和传输数据
- 选择器:监视通道的状态
NIO创建缓冲区对象
方法名 |
说明 |
static ByteBuffer allocate(长度) |
创键byte类型的缓冲区 |
static ByteBuffer wrap(byte[] array) |
创键一个有内容的byte类型缓冲区 |
NIO缓冲区添加数据
public static void main(String[] args) {
ByteBuffer byteBuffer = ByteBuffer.allocate(50);
System.out.println(byteBuffer.position());
System.out.println(byteBuffer.limit());
System.out.println(byteBuffer.capacity());
byteBuffer.put((byte) 97)