资讯

编程笔记、博客、读书笔记、生活感悟、Switch 游戏. Contribute to web-logs2/Thinking_in_Java_MindMapping-2 development by creating an account on GitHub.
与传统的Java I/O模型相比,Java NIO提供了许多改进,如通道 (Channel)、缓冲区 (Buffer)和选择器 (Selector)等组件,它们共同构成了Java NIO的基础架构。
之前的文章已经把 Java 中 NIO 的 Buffer、Channel 讲解完了,不太了解的可以先回过头去看看。这篇文章我们就来聊聊 Selector — 选择器。
Selector允许一个单一的线程来操作多个Channel,如果我们的应用程序中使用了多个Channel,那么使用Selector很方便的实现这样的目的,但是因为在一个线程中使用了多个Channel,因此也会造成了每个Channel传输效率的降低。
Java NIO有三个核心的组件:Buffer、Channel和Selector。 在上一篇文章中,我们已经介绍了Buffer,这篇文章主要介绍剩下两个组件:Channel和Selector。 Channel Channel翻译过来是“通道”的意思,所有的Java NIO都要经过Channel。 一个Channel对象其实就对应了一个IO连接。
本文将介绍 Java NIO 中三大组件 Buffer、Channel、Selector 的使用。 本来要一起介绍非阻塞 IO 和 JDK7 的异步 IO 的,不过因为之前的文章真的太长了,有点影响读者阅读,所以这里将它们放到另一篇文章中进行介绍。 Buffer 一个 Buffer ...