学习目标
- 能够使用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位置;