Java NIO 教程(一)概述

 

一. NIO 核心组成:

  1. Channels
    1. 定义:Channel 有点象流。 数据可以从Channel读到Buffer中,也可以从Buffer 写到Channel中,nio从channel开始
    2. 实现:
      1. FileChannel
      2. SocketChannel
      3. ServerSocketChannel
      4. DatagramChannel
  2. Buffers
    1. 作用:和通道数据交互,即从通道中读入数据到缓冲区,和从缓冲区中把数据写入到通道中,通过这样完成对数据的传输。
    2. 实现:
      1. ByteBuffer
      2. CharBuffer
      3. DoubleBuffer
      4. FloatBuffer
      5. IntBuffer
      6. LongBuffer
      7. ShortBuffer
  3. Selectors
    1. 作用:控制单线程处理多个 Channel
    2. 用法概述:使用Selector,得向Selector注册Channel,然后调用它的select()方法。这个方法会一直阻塞到某个注册的通道有事件就绪。一旦这个方法返回,线程就可以处理这些事件,事件的例子有如新连接进来,数据接收等。

 


二. Channel 和 Buffer图示:


三. Selector控制多个Channel图示:

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值