摘要: 选择器是java NIO中能够检测一到多个NIO通道(Channel),并能知晓是否为诸如读写时间做好准备的组件。这样,一个单独的线程可以管理多个channel,从而管理多个网络连接 为什么用Selector 仅用单个线程处理多个Channels的好处就是只需要更少的线程来处理Channel。事实上 阅读全文
posted @ 2017-02-20 17:42 孤独时光 阅读(332) 评论(0) 推荐(0) 编辑
摘要: 在Java NIO中,如果两个通道中有一个是FileChannel,那你可以直接将数据从一个channel(译者注:channel中文常译作通道)传输到另外一个channel。 transferFrom() 方法的输入参数position表示从position处开始向目标文件写入数据,count表示 阅读全文
posted @ 2017-02-20 16:11 孤独时光 阅读(442) 评论(0) 推荐(0) 编辑
摘要: scatter/gather用于描述从Channel中读取或者写入到Channel的操作。 分散(scatter):从Channel中读取在读操作中将读取的数据写入多个Buffer中。因此,Channel将从Channel中读取的数据分散(scatter)到多个Buffer中。 聚集(gather) 阅读全文
posted @ 2017-02-20 15:27 孤独时光 阅读(2556) 评论(0) 推荐(0) 编辑
摘要: 使用Buffer一般遵循以下四个步骤 写入数据到Buffer 调用flip() 从Buffer中读取数据 调用clear()或者compact()方法 当向buffer写入数据时,buffer会记录下写了多少数据,一旦要读取数据,需要通过flip()将Buffer从写模式切换到读模式。在读模式下,可 阅读全文
posted @ 2017-02-20 14:40 孤独时光 阅读(404) 评论(0) 推荐(0) 编辑