`
yuyee
  • 浏览: 57290 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

nio包buffer缓冲类

    博客分类:
  • mina
阅读更多
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;
    }
分享到:
评论

相关推荐

    Java NIO实战开发多人聊天室

    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之Buffer(缓冲区)是Java NIO中一个重要的概念,它提供了一种高效的数据处理方式。缓冲区是一个可以写入数据然后从中读取数据的内存块,它被包装成NIO Buffer对象,并...

    动态演示nio中的buffer相关操作.zip

    1. **缓冲区类型**:Java NIO提供了多种Buffer类型,如ByteBuffer、CharBuffer、IntBuffer、FloatBuffer、DoubleBuffer等,分别对应于不同数据类型。它们都是抽象类`Buffer`的子类。 2. **缓冲区的基本属性**: - ...

    尚硅谷Java视频_NIO 视频教程

    尚硅谷_NIO_缓冲区(Buffer)的数据存取 ·03. 尚硅谷_NIO_直接缓冲区与非直接缓冲区 ·04. 尚硅谷_NIO_通道(Channel)的原理与获取 ·05. 尚硅谷_NIO_通道的数据传输与内存映射文件 ·06. 尚硅谷_NIO_分散读取与聚集...

    Java NIO 主要类和方法(Java NIO中文版 附录C)

    在Java NIO中,Buffer类是所有其他缓冲类的基类,为所有缓冲器类型提供了通用方法。下面详细说明Java NIO中的主要类和方法。 Buffer类(C.1.1): Buffer类是一个抽象类,提供了缓冲区操作的基本结构。以下是一些...

    Java NIO Buffer过程详解

    Java NIO Buffer 过程详解 Java NIO Buffer 是 Java NIO 中的一种重要组件,负责数据的存储和传输。缓冲区是数组,用于存储不同数据类型的数据。在与 NIO 通道交互时,Java NIO Buffer plays a crucial role. 基本...

    java nio 包读取超大数据文件

    - **设置缓冲区大小**:`final int BUFFER_SIZE=0x300000;` 设置了每次读取的缓冲区大小为3MB。 - **定义文件范围**:通过`begin_fz`、`begin_fm`、`end_fz`、`end_fm`等变量定义了要读取文件的起始位置和结束位置...

    Java语言基础教程-Java NIO流篇1

    缓冲区有多种类型,如ByteBuffer、CharBuffer、IntBuffer等,它们都是抽象类Buffer的子类。缓冲区具有容量、位置、限制和标记等属性,这些属性使得对数据的操作更加可控和高效。 在【第3节】 Java NIO流-缓冲区操作...

    Java.NIO资源下载资源下载

    Buffer(缓冲区) - **Buffer 基础**:介绍了 Buffer 的基本概念,包括如何创建 Buffer、复制 Buffer 以及 ByteBuffer 的具体用法。 - **创建 Buffer**:讨论了多种创建 Buffer 的方法。 - **复制 Buffer**:探讨...

    NIO学习系列:缓冲区更多特性及分散/聚集IO

    - `java.nio`包下的`Buffer`类是所有缓冲区的抽象基类,它定义了缓冲区的一般行为。子类如`ByteBuffer`则实现了具体的数据存储和操作。 - `java.nio.channels.FileChannel`是NIO中的通道类,提供了分散/聚集IO操作...

    Android开发进阶之NIO非阻塞包

    **NIO简介**:NIO是一种基于通道(Channel)与缓冲区(Buffer)的I/O操作方式,相比于传统的BIO(Blocking I/O),它最大的特点是支持非阻塞模式,即应用程序在进行I/O操作时不会被阻塞,这极大地提高了系统的并发处理...

    Java NIO(通道+缓冲区+选择器)

    2. **创建缓冲区**:Java NIO提供多个Buffer类,如ByteBuffer、CharBuffer、IntBuffer等,它们都继承自抽象类Buffer。每个Buffer类都有allocate、allocateDirect等方法来创建缓冲区。 3. **直接缓冲区...

    jdk1.6 源码 包含nio等

    在JDK 1.6的源码中,你可以深入理解这些概念的实现细节,例如`java.nio`包下的各种类和接口,以及`sun.nio`包中的实现类,这些都是NIO核心功能的实现。`launcher`可能是JVM的启动器,`org`、`javax`、`java`、`com`...

    Java NIO 中文版.rar

    而Java NIO引入了Channel(通道)和Buffer(缓冲区)的概念,以及Selector(选择器)机制,使得一个线程可以同时监控多个通道的事件,大大提高了处理效率。以下是NIO的主要组件和特性: 1. **Channel**:类似于流,...

    nio.rar_FastCopyFile.java_NIO_UseFloatBuffer.java_java nio_文件锁

    NIO的核心组件包括通道(Channel)、缓冲区(Buffer)和选择器(Selector)。在给定的压缩包文件中,我们关注的是"FastCopyFile.java"、"UseFloatBuffer.java"以及NIO中的文件锁功能。 首先,让我们详细了解一下`...

    Java NIO Socket基本

    5. **文件系统API**:NIO还提供了`java.nio.file`包,包含一系列与文件系统交互的类,如Files、Paths等。 Java NIO的主要优势在于非阻塞特性。在BIO中,如果一个线程正在读取或写入数据,那么这个线程将被阻塞,...

    java nio 读文件

    1. 缓冲区(Buffer):NIO的核心组件,用于存储数据。Java提供了多种Buffer类,如ByteBuffer、CharBuffer、IntBuffer等,分别对应不同数据类型。每个Buffer都有特定的方法用于写入、读取、清理和翻转数据。 2. 通道...

    nio demo for nio学习笔记(体系结构以及模块介绍)

    Java NIO库提供了多种实现,如`java.nio.channels`包下的各种Channel和Selector类,以及`java.nio`包下的Buffer类。 在学习NIO时,首先需要理解Channel、Buffer、Selector的基本概念和使用方法,然后通过实例来熟悉...

    httpcore-nio-4.3.jar包

    NIO的核心概念包括通道(Channel)、缓冲区(Buffer)和选择器(Selector)。通道可以读写数据,缓冲区用于临时存储数据,选择器则用于监听多个通道的事件,实现了多路复用,从而实现非阻塞I/O。 3. **HttpCore NIO...

Global site tag (gtag.js) - Google Analytics