1 什么是java nio
java nio就是java非阻塞io。
2 什么是channel
channel是到打开的文件的连接,只要是支持读写操作的实体都可以称为文件,文件可以是硬件设备、文件和网络套接字等。
3 多路复用非阻塞IO的实现原理
3.1 Selector、selection keys和selectable channels一起来实现多路复用非阻塞IO。
3.2 什么是多路复用
多路指的是多个channel、复用指的是多个channel复用一个线程来进行数据的读写。
3.3 什么非阻塞IO
指的是被复用的线程是不会阻塞的,只要有chanel有数据,它就一直在工作,除非所有的路都没有数据。
3.4 Selector的背后的实现原理
4 noi buffers
为什么要弄这么多的nio buffer?nio buffer有什么用?
在进行标准io的时候因为只有一个chanel在用这个thread,因此不需要buffer,但是多个chanel复用的话,就会存在等待的chanel,这样的话,有一个buffer缓存一下,处理上会更加方便。