0
点赞
收藏
分享

微信扫一扫

NIO三大核心组件关系


NIO三大核心原理示意图

NIO三大核心组件关系_数组


说明:

  1. 每个Channel都会对应一个Buffer
  2. Selector对应一个线程,一个线程对应多个Channel连接
  3. 上图反应有三个Channel注册到Selector上
  4. 程序切换到那个Channel是有事件决定的,Event就是一个总要的概念
  5. Selector会根据不同的事件,在各个通道上切换
  6. Buffer就是一个内存块,底层是有一个数组
  7. 数据的读写是通过Buffer,这个和BIO不同,BIO中要么是输入流,要么是输出流,不能双向,但是NIO的Buffer是可以读,也可以写,需要通过filp方法进行切换
  8. Channel是双向的,可以返回底层操作系统的情况,比如Linux,底层的操作系统通道就是双向的

NIO中最核心的就是Selector、Channel、Buffer,切记


举报

相关推荐

0 条评论