`
iluoxuan
  • 浏览: 582286 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JAVA NIO--BUFFER

 
阅读更多

1: 缓冲区:buffer

 

public abstract class Buffer {

    // Invariants: mark <= position <= limit <= capacity
    private int mark = -1; // 标记
    private int position = 0; // 位置 位置会自动由相应的get( )和put( )函数更新
    private int limit;  //上界
    private int capacity; // 缓冲区能够容纳的数据元素的最大数量。这一容量在缓冲区创建时被//设定,并且永远不能被改变。
    
    .......
}
 Flip()函数将一个能够继续添加数据元素的填充状态的缓冲区翻转成一个准备读出元素

 

public final Buffer flip() {
	limit = position;
	position = 0;
	mark = -1;
	return this;
    }

 ps下: iteye的编辑器 不能直接复制图片 ....真蛋疼..

 

比如现在的 缓冲区:  1  2 3 4 5 6 7 8 9 

mark标记在1位置  buffer.put()已经放了6个字节 那么position到了6的位置:

limit在9的位置...

Flip()函数将一个能够继续添加数据元素的填充状态的缓冲区翻转成一个准备读出元素的释放状态

 

flip后:  positon=0  limit =6 就可以读出 刚才放进缓冲区的字节数.

 

 

分享到:
评论

相关推荐

    JAVA-NIO-DEMO

    Java NIO(New IO)是Java 1.4版本引入的一个新模块,它提供了一种不同于传统IO(基于字节流和字符流)的I/O操作方式。传统的IO模型是阻塞式的,而NIO的核心特点是非阻塞,这使得在处理大量并发I/O请求时更为高效。...

    Java NIO实战开发多人聊天室

    12-Java NIO-Buffer-概述.mp4 13-Java NIO-Buffer-基本使用.mp4 14-Java NIO-Buffer-三个属性和类型.mp4 17-Java NIO-Buffer-缓冲区分片.mp4 18-Java NIO-Buffer-只读缓冲区.mp4 19-Java NIO-Buffer-直接缓冲区.mp4 ...

    java网络编程NIO视频教程

    Java NIO-Buffer-三个属性和类型 - **主要内容**:详细解析Buffer的三个核心属性(容量、位置、限制)以及不同类型Buffer的特点。 - **学习目标**:掌握Buffer的内部机制和不同类型的Buffer。 #### 15. Java NIO-...

    httpcore-nio-4.3.jar包

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

    Java-NIO-Programming-Cookbook(含源码)

    Java NIO(非阻塞I/O)编程是Java平台中的一种高效I/O处理方式,相比传统的BIO(阻塞I/O),NIO提供了更灵活、性能更高的数据传输机制。本书《Java NIO Programming Cookbook》旨在深入浅出地介绍如何利用Java NIO...

    Java-NIO-系列教程

    除了以上提到的 Buffer 类型之外,Java NIO 还提供了一个特殊的 Buffer 类型——`MappedByteBuffer`,用于表示内存映射文件。这种方式能够提高文件的读写效率,但由于其实现较为复杂,本概述中不做详细介绍。 #### ...

    JavaNIO chm帮助文档

    Java NIO系列教程(三) Buffer Java NIO系列教程(四) Scatter/Gather Java NIO系列教程(五) 通道之间的数据传输 Java NIO系列教程(六) Selector Java NIO系列教程(七) FileChannel Java NIO系列教程(八) ...

    基于matrix-nio和nio-template构建的管理员和个人协助.zip

    3. **Buffer**:缓冲区用于存储数据,NIO中的缓冲区提供了更高效的数据存取方式。 4. **Pipe**:管道用于在两个线程之间传递数据,通常用于服务器内部通信。 5. **ServerSocketChannel** 和 **SocketChannel**:分别...

    android-socket-nio-master.zip

    4. **Buffer缓冲区**:NIO中的Buffer类用于在Java内存和操作系统之间交换数据。开发者需要掌握如何正确地使用Buffer读写数据,以确保高效的数据传输。 5. **事件驱动编程**:NIO基于事件驱动模型,需要编写处理各种...

    Java NIO英文高清原版

    Java NIO,全称为Non-Blocking Input/Output(非阻塞输入/输出),是Java平台中用于替代标准I/O(BIO)模型的一种新机制。NIO在Java 1.4版本引入,提供了更高效的数据处理和通道通信方式,特别适用于高并发、大数据...

    java-instantcode-developing.rar_java nio

    Java NIO的核心组件包括通道(Channel)、缓冲区(Buffer)和选择器(Selector)。在本压缩包"java-instantcode-developing.rar_java nio"中,主要探讨的是如何使用Java NIO来开发应用程序。 1. **通道(Channel)**...

    socket-nio-single-reactor.zip

    Socket NIO 单 Reactor 模式是一种在 Java 中实现高性能网络编程的技术,它结合了非阻塞I/O(New I/O,即NIO)和Reactor设计模式。本示例代码旨在帮助开发者理解如何使用Java NIO和Reactor模式构建网络服务。尽管...

    java NIO 视频教程

    标准的IO基于字节流和字符流进行操作的,而NIO是基于通道(Channel)和缓冲区(Buffer)进行操作,数据总是从通道读取到缓冲区中,或者从缓冲区写入到通道中。 Java NIO: Non-blocking IO(非阻塞IO) Java NIO...

    bio-nio-aio.zip

    《Java IO:从NIO到Reactor三种模式详解》 在Java编程中,IO操作是不可或缺的一部分,尤其在处理大量数据传输或者网络通信时。本文将深入探讨Java中的三种IO模型:传统IO(BIO)、非阻塞IO(NIO)以及反应器模式...

    java-nio.rar_NIO_java nio

    Java NIO提供了一系列Buffer类,如ByteBuffer、CharBuffer、IntBuffer等,它们都继承自抽象类Buffer。 - **选择器(Selectors)**:选择器允许单线程处理多个通道,通过注册感兴趣的事件(如读、写、连接和接受)并...

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

    然而,NIO中的流与传统的IO流有所不同,它们不仅支持字节流,还支持字符流,并且引入了缓冲区(Buffer)的概念。缓冲区是NIO的核心,它允许我们批量处理数据,提高了效率。 接下来,我们来看NIO的另一重要概念——...

    java nio 包读取超大数据文件

    ### Java NIO 处理超大数据文件的知识点详解 #### 一、Java NIO简介 Java NIO(New IO)是Java平台上的新输入/输出流API,它提供了与传统IO(即Java IO)不同的数据处理方式。NIO在Java 1.4版本引入,并在后续版本...

Global site tag (gtag.js) - Google Analytics