19-[BIO.NIO.AIO概述-Buffer类(缓冲区)-Channel(通道)]

学习目标

- 能够使用Junit进行单元测试
	1.在当前模块下新建lib文件夹,拷贝junit的jar包,把jar包添加到图书馆中
	2.在要执行的方法上添加一个@Test注解
	3.点击方法左边的绿色三角或者右键选择方法,选择run 方法名称运行方法
- 能够说出阻塞和非阻塞的概念
	阻塞:等待结果,什么事也不能做
	非阻塞:可以做别的事情
- 能够说出同步和异步的概念
	同步:主动获取结果
	异步:等待对方通知结果
- 能够创建和使用ByteBuffer
	获取对象的方式:
		- public static ByteBuffer allocate(int  capacity):使用一个“容量”来创建一个“间接字节缓存区”——程序的“堆”空间中创建。
        - public static ByteBuffer allocateDirect(int capacity):使用一个“容量”来创建一个“直接字节缓存区”——系统内存。
        - public static ByteBuffer wrap(byte[] byteArray):使用一个“byte[]数组”创建一个“间接字节缓存区”。
	成员方法:
		向ByteBuffer添加数据
        - public ByteBuffer put(byte b):向当前可用位置添加数据。
        - public ByteBuffer put(byte[] byteArray):向当前可用位置添加一个byte[]数组
        - public ByteBuffer put(byte[] byteArray,int offset,int len):添加一个byte[]数组的一部分
		
		- byte[] array()  获取缓冲区中包含的字节数组
		
		- int capacity() 返回此缓冲区的容量。
		
		- public int limit():获取此缓冲区的限制。
        - public Buffer limit(int newLimit):设置此缓冲区的限制。
		
		- public int position():获取当前可写入位置索引。
		- public Buffer position(int p):更改当前可写入位置索引。
		
		- public Buffer mark():设置此缓冲区的标记为当前的position位置。
		
		- public Buffer clear():还原缓冲区的状态。
          - 将position设置为:0
          - 将限制limit设置为容量capacity;
          - 丢弃标记mark。
        - public Buffer flip():缩小limit的范围。 获取读取的有效数据0到position之间的数据
          - 将limit设置为当前position位置;
          
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值