跳到主要内容

简述什么是NIO ?

参考答案:

NIO是non-blocking IO的简称,中文可译为“非阻塞IO”,是后续比如React等的多路复用的基础模型,也是UNIX的五种IO模型中的一种。NIO有三大组件:buffer、channel和selector,这三大组件共同作用,提供了多路复用的非阻塞解决方案。

在Java中,NIO是jdk1.4里提供的新API,Sun官方标榜的特性包括:为所有的原始类型提供(Buffer)缓存支持,字符集编码解码解决方案,一个新的原始I/O抽象即Channel,支持锁和内存映射文件的文件访问接口,以及提供多路(non-blocking)非阻塞式的高伸缩性网络I/O。

具体来说,Buffer是一块连续的内存块,是NIO数据读或写的中转地。Channel是数据的源头或者数据的目的地,用于向Buffer提供数据或者读取Buffer数据,是Buffer对象的唯一接口。

以上信息仅供参考,如需了解更多关于NIO的信息,建议咨询计算机领域的专业人士或查阅相关书籍文献。