缓冲区分析名词解释 缓冲区分析

缓冲分析(缓冲分析名词解释)
首先,它是什么?
默认情况下,缓冲区是即将写入通道或刚刚从通道中读出的一段数据 。它是一个保存数据的对象,充当NIO通道的端点 。缓冲区为数据访问和读写提供了一种正式的机制 。这是NIO和旧的Java I/O的主要区别 。以前,数据是直接从流中读写的,但现在数据可以从缓冲区中读写 。在NIO中,通道是流的同义词 。
二,NIO缓冲区的特点
Java NIO的基本构件是缓冲区 。
缓冲区提供了一个固定大小的容器来读取数据 。
每个缓冲区都是可读的,但只有某些缓冲区是可写的 。
缓冲区是通道的端点 。
只读缓冲区的内容是不可变的,但它的标志、位置和界限都是可变的 。
默认情况下,没有一个缓冲区是线程安全的 。
【缓冲区分析名词解释 缓冲区分析】
第三,缓冲类型
每个原语类型都有相应的缓冲区类型 。所有缓冲区类都实现缓冲区接口 。最常用的缓冲类型是ByteBuffer 。以下是Java NIO包中提供的缓冲区类型 。
字节缓冲器
类型
短缓冲区
IntBuffer
朗布尔
浮动缓冲器
双缓冲器
内存映射
四 。缓冲能力
缓冲区有固定的大小,我们只能存储小于“固定大小”的数据 。固定大小的值称为缓冲区的容量 。一旦缓冲区满了,就必须将其清零空,然后才能再次写入 。一旦容量被设置,它在缓冲器的寿命期间将不会改变 。
动词 (verb的缩写)缓冲边界
在写模式下,缓冲区的边界等于容量 。在读取模式下,边界指向缓冲区最后一个数据位的下一位 。当缓冲区被写入时,极限值一直递增 。缓冲区的边界总是大于或等于零,并且小于或等于容量0 VI 。缓冲位置
指向位置缓冲区的当前地址 。创建缓冲区时,位置被设置为零 。在读取和写入期间,位置递增到下一个索引位置 。位置总是在零和零之间 。
七、缓冲标志
标记类似于给缓冲区添加书签 。调用mark()时记录当前位置,调用reset()时恢复标记的位置 。
八、缓冲区翻转、清除和倒带
flip()方法用于准备缓冲区、执行get操作或准备新的写序列 。Flip()将边界设置为当前位置,然后将位置设置为0 。
clear()方法用于准备缓冲区,放置或准备新的读取序列 。Clear()设置容量位置的限制,并将位置设置为0 。
rewind()方法用于再次读取获取的数据 。Rewind()将缓冲区位置设置为0 。

9.如何读取NIO缓冲区
1首先创建一个缓冲区并分配容量 。Buffer有一个allocate(size)方法,可以返回一个Buffer对象 。byte buffer byte buffer = byte buffer . allocate(512);
2翻翻,准备阅读 。byte buffer . flip();
3数据可以在下面读入 。int number of bytes = file channel . read(byte buffer);
4接下来,您可以从缓冲区读取数据 。char c =(char)byte buffer . get();
X.如何写NIO缓冲区
1创建缓冲区并分配容量 。byte buffer byte buffer = byte buffer . allocate(512);//容量设置为512
2写数据 。byte buffer . put((byte)0x ff);

    推荐阅读