- 网络IO实现方式分为BIO(阻塞IO)、线程池伪异步IO、NIO(非阻塞IO)、AIO(异步非阻塞IO);
- 异步、同步是说是否允许并发,阻塞、非阻塞是说是否等待结果;
- NIO中重要概念缓冲区Buffer、通道Channel、多路复用器Selector;
- Buffer实现类都是基本类型的buffer,例如IntBuffer,实现就是int数组+四个索引(mark备份读取位置;position已读写到的位置;limit可读写的最大界限;capacity容量,数组长度);
- ByteBuffer使用直接缓冲区,不同于其他buffer使用的jvm堆栈;
- 通道Channel是用于读写数据的对象,例如SocketChannel,能通过TCP读写网络中的数据;FileChannel从文件中读写数据;通过继承SelectableChannel可向Selector注册以获取就绪的Channel对象;
- Selector是SelectableChannel对象的多路复用器,Channel可注册的事件可在validOps方法查看;Channel不能同时注册OP_ACCPET和OP_READ或同时注册OP_CONNECT和OP_WRITE,对底层来说只有read和write两种事件,如下:OP_ACCEPT、OP_READ == Read 和OP_CONNECT、OP_WRITE == Write
Java IO快速入门
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- Java NIO(New IO)是从Java 1.4版本开始引入的一个新的IO API,可以替代标准的Java I...
- 简介 Java NIO 是由 Java 1.4 引进的异步 IO.Java NIO 由以下几个核心部分组成: Ch...