2022年2月27日
摘要: 一、Channel 基本介绍 (1)NIO 的通道类似于流,但有些区别如下: ① 通道可以同时进行读写,而流只能读或者只能写; ② 通道可以实现异步读写数据; ③ 通道可以从缓冲读数据,也可以写数据到缓存; (2)BIO 中的 stream 是单向的, 例如 FileInputStream 对象只能 阅读全文
posted @ 2022-02-27 16:08 格物致知_Tony 阅读(236) 评论(0) 推荐(0)
摘要: 一、缓冲区(Buffer)基本介绍 缓冲区(Buffer) : 缓冲区本质上是一个可以读写数据的内存块, 可以理解成是一个容器对象(含数组), 该对象提供了一组方法, 可以更轻松地使用内存块,缓冲区对象内置了一些机制, 能够跟踪和记录缓冲区的状态变化情况。 Channel 提供从文件、网络读取数据的 阅读全文
posted @ 2022-02-27 11:06 格物致知_Tony 阅读(87) 评论(0) 推荐(0)
摘要: NIO 三大核心原理示意图 一张图描述NIO 的 Selector 、Channel 和 Buffer 的关系 关系图说明: (1)每个channel 都会对应一个Buffer; (2)Selector 对应一个线程, 一个线程对应多个channel(连接); (3)该图反应了有三个channel 阅读全文
posted @ 2022-02-27 10:09 格物致知_Tony 阅读(66) 评论(0) 推荐(0)
摘要: 一、Java NIO 基本介绍 (1)Java NIO 全称 java non-blocking IO, 是指 JDK 提供的新API。 从 JDK1.4 开始, Java 提供了一系列改进的输入/输出的新特性, 被统称为 NIO(即 New IO), 是同步非阻塞的。 (2)NIO 相关类都被放在 阅读全文
posted @ 2022-02-27 09:59 格物致知_Tony 阅读(58) 评论(0) 推荐(0)