Java NIO 的前生今世 之四 NIO Selector 详解

2016-09-05
阅读 7 分钟
39.6k
Selector 允许一个单一的线程来操作多个 Channel. 如果我们的应用程序中使用了多个 Channel, 那么使用 Selector 很方便的实现这样的目的, 但是因为在一个线程中使用了多个 Channel, 因此也会造成了每个 Channel 传输效率的降低. 使用 Selector 的图解如下:

Java NIO 的前生今世 之三 NIO Buffer 详解

2016-09-05
阅读 7 分钟
24.2k
当我们需要与 NIO Channel 进行交互时, 我们就需要使用到 NIO Buffer, 即数据从 Buffer读取到 Channel 中, 并且从 Channel 中写入到 Buffer 中.实际上, 一个 Buffer 其实就是一块内存区域, 我们可以在这个内存区域中进行数据的读写. NIO Buffer 其实是这样的内存块的一个封装, 并提供了一些操作方法让我们能够方便地进行...

Java NIO 的前生今世 之二 NIO Channel 小结

2016-09-05
阅读 5 分钟
26.5k
通常来说, 所有的 NIO 的 I/O 操作都是从 Channel 开始的. 一个 channel 类似于一个 stream.java Stream 和 NIO Channel 对比

Java NIO 的前生今世 之一 简介

2016-09-05
阅读 2 分钟
33k
简介 Java NIO 是由 Java 1.4 引进的异步 IO.Java NIO 由以下几个核心部分组成: Channel Buffer Selector NIO 和 IO 的对比 IO 和 NIO 的区别主要体现在三个方面: IO 基于流(Stream oriented), 而 NIO 基于 Buffer (Buffer oriented) IO 操作是阻塞的, 而 NIO 操作是非阻塞的 IO 没有 selector 概念, 而 NIO 有 selector...