- 每个channel都会对应一个buffer;
- 一个selector对应一个线程,每个selector对应多个channel,channel通道也可以理解为链接,是双向的;
- channel 注册到selector上,程序切换到那个channel是由时间Event决定的
- select会根据不同的事件在各个通道(channel)上切换
- buffer就是一个内存块,底层其实就是数据,buffer也是双向的;
- 数据的读取和写入都是通过buffer进行的,而BIO要不是输入流也不是输出流,是单向的;而NIO的buffer即可读取也可写入,是双向的的,注意需要flip进行切换
- channel是双向的,可以返回底层操作系统的状态,比如linux操作系统,底层的通道就是双向的
NIO三大核心selector、channel、buffer的关系
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- BIO介绍 在jdk1.4之前,java的I/O是使用基于流的抽象模型来做的,io流模型把设备抽象成一个个管道,管...
- 0. 概述 1.Java NIO 2.ChannelChannel到Channel的数据传输transferFro...
- 微信公众号【黄小斜】作者是蚂蚁金服 JAVA 工程师,目前在蚂蚁财富负责后端开发工作,专注于 JAVA 后端技术栈...
- 本文转载自互联网 本系列文章将整理到我在GitHub上的《Java面试指南》仓库,更多精彩内容请到我的仓库里查看 ...
- Java NIO(New IO)是从Java 1.4版本开始引入的一个新的IO API,可以替代标准的Java I...