缓冲分析(缓冲分析术语的解释)
首先,它是什么?
默认情况下,缓冲区是即将写入通道或刚刚从通道中读出的一段数据。它是一个保存数据的对象,充当NIO通道的端点。缓冲区为数据访问和读写提供了一种正式的机制。这是NIO和旧的Java I/O之间的主要区别。以前,数据是直接从流中读取和写入的,但现在数据可以从缓冲区中读取和写入。在NIO中,通道是流的同义词。
二、NIO缓冲器的特点
Java NIO的基本构件是缓冲区。
缓冲区提供了一个固定大小的容器来读取数据。
每个缓冲区都是可读的,但只有特定的缓冲区是可写的。
缓冲区是通道的端点。
只读缓冲区的内容是不可变的,但它的标志、位置和界限都是可变的。
默认情况下,没有一个缓冲区是线程安全的。
三。缓冲类型
每个原语类型都有相应的缓冲区类型。所有缓冲区类都实现缓冲区接口。最常用的缓冲类型是ByteBuffer。是下面的Java NIO包中提供的缓冲区类型。
字节缓冲器
类型
短缓冲区
IntBuffer
朗布尔
浮动缓冲器
双缓冲器
内存映射
四。缓冲能力
缓冲区的大小是固定的,我们只能存储小于“固定大小”的数据。固定大小的值称为缓冲区的容量。一旦缓冲区满了,就必须将其清零空,然后才能再次写入。一旦容量被设置,它在缓冲器的寿命期间将不会改变。
动词 (verb的缩写)缓冲区的边界
在写模式下,缓冲区的极限等于容量。在读取模式下,边界指向缓冲区中最后一个数据位的下一位。当缓冲区被写入时,边界不断增加。缓冲区的边界总是大于或等于零,并且小于或等于容量0 ^ 6。缓冲位置
该位置指向缓冲区的当前地址。创建缓冲区时,位置被设置为零。在读取和写入期间,位置递增到下一个索引位置。位置总是在零和极限之间。
七。缓冲标记
标记类似于给缓冲区添加书签。调用mark()时记录当前位置,调用reset()时恢复标记的位置。
八。缓冲翻转、清除和倒带
flip()方法用于准备缓冲区、执行get操作或准备新的写序列。Flip()将边界设置为当前位置,然后将位置设置为0。
clear()方法用于准备缓冲区,放置或准备一个新的读取序列。Clear()设置容量位置的限制,并将位置设置为0。
rewind()方法用于再次读取获取的数据。Rewind()将缓冲区位置设置为0。
九。如何读取NIO缓冲区
首先,创建一个缓冲区并分配容量。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);
本文地址:百科知识频道 https://www.neebe.cn/zhishi/933139.html,易企推百科一个免费的知识分享平台,本站部分文章来网络分享,本着互联网分享的精神,如有涉及到您的权益,请联系我们删除,谢谢!