摘要: 1 Selector介绍 选择器提供选择执行已经就绪的任务的能力,从底层来看,Selector提供了询问通道是否已经准备好执行每个I/O操作的能力。Selector 允许单线程处理多个Channel。Selector工作过程如下图; 选择器(Selector); Selector选择器类管理着一个被 阅读全文
posted @ 2019-05-02 22:01 会飞的喵星人 阅读(175) 评论(0) 推荐(0) 编辑
摘要: Buffer Java NIO中的Buffer用于和NIO通道进行交互,缓冲区本质上是一块可以写入数据,然后可以从中读取数据的内存。这块内存被包装成NIO Buffer对象,并提供了一组方法,用来方便的访问该块内存。缓冲区实际上是一个容器对象,更直接的说,其实就是一个数组,在NIO库中,所有数据都是 阅读全文
posted @ 2019-05-02 15:39 会飞的喵星人 阅读(175) 评论(0) 推荐(0) 编辑
摘要: 1 Socket通道 所有的socket通道类(DatagramChannel、SocketChannel和ServerSocketChannel)都继承了位于java.nio.channels.spi包中的AbstractSelectableChannel。请注意DatagramChannel和S 阅读全文
posted @ 2019-05-02 13:26 会飞的喵星人 阅读(324) 评论(0) 推荐(0) 编辑
摘要: Channel概述 Channel是一个通道,可以通过它读取和写入数据,通道与流的不同之处在于通道是双向的,流是单向的;NIO中通过channel封装了对数据源的操作,通过channel 我们可以操作数据源,但又不必关心数据源的具体物理结构。在大多数应用中,channel与文件描述符或者socket 阅读全文
posted @ 2019-05-02 10:05 会飞的喵星人 阅读(366) 评论(0) 推荐(0) 编辑