public abstract class Buffer{
// Invariants: mark <= position <= limit <= capacity
private int mark = -1;
private int position = 0;
private int limit;
private int capacity;
// Used only by direct buffers
// NOTE: hoisted here for speed in JNI GetDirectBufferAddress
long address;
}
他是一种特定的基本类
缓冲区是基本类型元素的线性有序序列,基本属性:容量,限制,位置
容量:所能包含的元素数量
限制:不能读或者写的第一个元素的索引,永远不会负,并且不会大于容量
位置:第一个能读或能写的元素索引,永远不会负,永远不会大于其限制
clear():使缓冲区做好新序列读取操作,将位置设置为0,限制设置为容量
public final Buffer clear() {
position = 0;
limit = capacity;
mark = -1;
return this;
}
flip:使缓冲区做好了新序列信道读取或相对 get 操作的准备:它将限制设置为当前位置,然后将该位置设置为零。
public final Buffer flip() {
limit = position;
position = 0;
mark = -1;
return this;
}
rewind:重新读取已包含数据的准备
public final Buffer rewind() {
position = 0;
mark = -1;
return this;
}
分享到:
相关推荐
01-Java NIO-课程简介....17-Java NIO-Buffer-缓冲区分片.mp4 18-Java NIO-Buffer-只读缓冲区.mp4 19-Java NIO-Buffer-直接缓冲区.mp4 21-Java NIO-Selector-概述.mp4 23-Java NIO-Selector-示例代码(客户端).mp4 24
JAVA NIO之Buffer(缓冲区)详解 JAVA NIO之Buffer(缓冲区)是Java NIO中一个重要的概念,它提供了一种高效的数据处理方式。缓冲区是一个可以写入数据然后从中读取数据的内存块,它被包装成NIO Buffer对象,并...
1. **缓冲区类型**:Java NIO提供了多种Buffer类型,如ByteBuffer、CharBuffer、IntBuffer、FloatBuffer、DoubleBuffer等,分别对应于不同数据类型。它们都是抽象类`Buffer`的子类。 2. **缓冲区的基本属性**: - ...
尚硅谷_NIO_缓冲区(Buffer)的数据存取 ·03. 尚硅谷_NIO_直接缓冲区与非直接缓冲区 ·04. 尚硅谷_NIO_通道(Channel)的原理与获取 ·05. 尚硅谷_NIO_通道的数据传输与内存映射文件 ·06. 尚硅谷_NIO_分散读取与聚集...
在Java NIO中,Buffer类是所有其他缓冲类的基类,为所有缓冲器类型提供了通用方法。下面详细说明Java NIO中的主要类和方法。 Buffer类(C.1.1): Buffer类是一个抽象类,提供了缓冲区操作的基本结构。以下是一些...
Java NIO Buffer 过程详解 Java NIO Buffer 是 Java NIO 中的一种重要组件,负责数据的存储和传输。缓冲区是数组,用于存储不同数据类型的数据。在与 NIO 通道交互时,Java NIO Buffer plays a crucial role. 基本...
- **设置缓冲区大小**:`final int BUFFER_SIZE=0x300000;` 设置了每次读取的缓冲区大小为3MB。 - **定义文件范围**:通过`begin_fz`、`begin_fm`、`end_fz`、`end_fm`等变量定义了要读取文件的起始位置和结束位置...
缓冲区有多种类型,如ByteBuffer、CharBuffer、IntBuffer等,它们都是抽象类Buffer的子类。缓冲区具有容量、位置、限制和标记等属性,这些属性使得对数据的操作更加可控和高效。 在【第3节】 Java NIO流-缓冲区操作...
Buffer(缓冲区) - **Buffer 基础**:介绍了 Buffer 的基本概念,包括如何创建 Buffer、复制 Buffer 以及 ByteBuffer 的具体用法。 - **创建 Buffer**:讨论了多种创建 Buffer 的方法。 - **复制 Buffer**:探讨...
- `java.nio`包下的`Buffer`类是所有缓冲区的抽象基类,它定义了缓冲区的一般行为。子类如`ByteBuffer`则实现了具体的数据存储和操作。 - `java.nio.channels.FileChannel`是NIO中的通道类,提供了分散/聚集IO操作...
**NIO简介**:NIO是一种基于通道(Channel)与缓冲区(Buffer)的I/O操作方式,相比于传统的BIO(Blocking I/O),它最大的特点是支持非阻塞模式,即应用程序在进行I/O操作时不会被阻塞,这极大地提高了系统的并发处理...
2. **创建缓冲区**:Java NIO提供多个Buffer类,如ByteBuffer、CharBuffer、IntBuffer等,它们都继承自抽象类Buffer。每个Buffer类都有allocate、allocateDirect等方法来创建缓冲区。 3. **直接缓冲区...
在JDK 1.6的源码中,你可以深入理解这些概念的实现细节,例如`java.nio`包下的各种类和接口,以及`sun.nio`包中的实现类,这些都是NIO核心功能的实现。`launcher`可能是JVM的启动器,`org`、`javax`、`java`、`com`...
而Java NIO引入了Channel(通道)和Buffer(缓冲区)的概念,以及Selector(选择器)机制,使得一个线程可以同时监控多个通道的事件,大大提高了处理效率。以下是NIO的主要组件和特性: 1. **Channel**:类似于流,...
NIO的核心组件包括通道(Channel)、缓冲区(Buffer)和选择器(Selector)。在给定的压缩包文件中,我们关注的是"FastCopyFile.java"、"UseFloatBuffer.java"以及NIO中的文件锁功能。 首先,让我们详细了解一下`...
5. **文件系统API**:NIO还提供了`java.nio.file`包,包含一系列与文件系统交互的类,如Files、Paths等。 Java NIO的主要优势在于非阻塞特性。在BIO中,如果一个线程正在读取或写入数据,那么这个线程将被阻塞,...
1. 缓冲区(Buffer):NIO的核心组件,用于存储数据。Java提供了多种Buffer类,如ByteBuffer、CharBuffer、IntBuffer等,分别对应不同数据类型。每个Buffer都有特定的方法用于写入、读取、清理和翻转数据。 2. 通道...
Java NIO库提供了多种实现,如`java.nio.channels`包下的各种Channel和Selector类,以及`java.nio`包下的Buffer类。 在学习NIO时,首先需要理解Channel、Buffer、Selector的基本概念和使用方法,然后通过实例来熟悉...
NIO的核心概念包括通道(Channel)、缓冲区(Buffer)和选择器(Selector)。通道可以读写数据,缓冲区用于临时存储数据,选择器则用于监听多个通道的事件,实现了多路复用,从而实现非阻塞I/O。 3. **HttpCore NIO...