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

缓冲分析(缓冲分析名词解释)

首先,它是什么?

默认情况下,缓冲区是即将写入通道或刚刚从通道中读出的一段数据。它是一个保存数据的对象,充当NIO通道的端点。缓冲区为数据访问和读写提供了一种正式的机制。这是NIO和旧的Java I/O的一个主要区别,以前数据是直接从流中读写的,但是现在数据可以从缓冲区中读写。在NIO中,通道是流的代名词。

二、NIO缓冲区的特点

Java NIO的基本构件是缓冲区。

缓冲区提供了一个固定大小的容器来读取数据。

每个缓冲区都是可读的,但只有某些缓冲区是可写的。

缓冲区是通道的端点。

只读缓冲区的内容是不可变的,但是它的标记、位置和限制都是可变的。

默认情况下,没有一个缓冲区是线程安全的。

第三,缓冲类型

每个原语类型都有相应的缓冲区类型。的所有缓冲区类都实现缓冲区接口。最常用的缓冲区类型是字节缓冲区。以下是Java NIO包中提供的缓冲区类型。

字节缓冲区

CharBuffer

ShortBuffer

IntBuffer

朗布夫

浮动缓冲器

DoubleBuffer

MappedByteBuffer

四.缓冲能力

缓冲区有固定的大小,我们只能存储小于“固定大小”的数据。固定大小的值称为缓冲区的容量。一旦缓冲区已满,必须将其清除空才能再次写入。一旦设置了容量,它在缓冲区的生命周期内不会改变。

动词 (verb的缩写)缓冲边界

在写模式下,缓冲区的边界等于容量。在读取模式下,边界指向缓冲区最后一个数据位的下一位。写入缓冲区时,限制值会一直递增。缓冲器的边界总是大于或等于零并且小于或等于容量0 VI。缓冲位置

指向位置缓冲区的当前地址。创建缓冲区时,位置设置为零。在读取和写入过程中,位置会递增到下一个索引位置。位置总是在0和0之间。

七、缓冲标志

标记类似于给缓冲区添加书签。调用mark()时记录当前位置,调用reset()时恢复标记位置。

八、缓冲翻转、清除和倒带

flip()方法用于准备缓冲区、执行get操作或准备新的写入序列。Flip()将边界设置为当前位置,然后将位置设置为0。

clear()方法用于准备缓冲区、放入或准备新的读取序列。Clear()设置容量位置的限制,并将位置设置为0。

rewind()方法用于再次读取采集的数据。Rewind()将缓冲区位置设置为0。

9.如何读取NIO缓冲区

1首先创建一个缓冲区并分配容量。Buffer有一个可以返回Buffer对象的allocate(size)方法。字节缓冲区字节缓冲区=字节缓冲区.分配(512);

2翻转,准备阅读。bytebuffer . flip();

3数据可在下面读取。int number of bytes = file channel . read(byteBuffer);

4接下来,您可以从缓冲区读取数据。char c =(char)bytebuffer . get();

X.如何写NIO缓冲区

1创建缓冲区并分配容量。字节缓冲区字节缓冲区=字节缓冲区.分配(512);//容量设置为512

2写数据。byteBuffer.put((字节)0xff);

(0)
上一篇 2022年4月27日
下一篇 2022年4月27日

相关推荐