- java new io是相对于传统io来说的,传统的io模型是指 通过
inputstream和outputstream 输入和输出 都是读写都是阻塞的, java new io 采用 channel buffer selector 数据是通过 channel传递,是双向的,可读可写。将buffer中的数据写入通道或者从通道读数据到buffer。 - new io实现非阻塞io其实本质上还是阻塞的,只不过通过io多路复用技术实现非阻塞操作。多路复用是指可以通过一个selector监听通道事件,通过事先注册事件监听实现异步操作实现非阻塞。
- 理论上说,异步io才是真正的异步输入输出,他的吞吐量高于io多路复用模型的吞吐量。就目前而言,windows系统通过IOCP实现了真正的异步io,在linux下其底层实现仍然使用epoll,与io多路复用相同。所以目前linux系统中任然是使用nio的框架,如netty等。
JAVA基础十五 java new io
最新推荐文章于 2023-08-01 23:21:40 发布