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

java nio缓冲区中标志mark

阅读更多

标记,使缓冲区能够记住一个位置并在之后将其返回。缓冲区的标记在mark( )函数被调用之前是未定义的,调用时标记被设为当前位置的值。reset( )函数将位置设为当前的标记值。如果标记值未定义,调用reset( )将导致InvalidMarkException异常。一些缓冲区函数会抛弃已经设定的标记(rewind( ),clear( ),以及flip( )总是抛弃标记)。如果新设定的值比当前的标记小,调用limit( )或position( )带有索引参数的版本会抛弃标记。如

 

调用mark( )来设定mark = postion。调用reset( )设定position = mark。标记在设定前是未定义的(undefined)。

 

这四个属性之间总是遵循以下关系: 0 <= mark <= position <= limit <= capacity

分享到:
评论

相关推荐

    JavaNIO.pdf

    Java NIO(Non-blocking I/O)是Java平台中的一种I/O处理方式,它提供了面向缓冲区的I/O处理机制,可以实现高性能、高效的I/O操作。 缓冲区(Buffer) 缓冲区是Java NIO中非常重要的一个概念,它是特定基本类型...

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

    Java NIO(New Input/Output)是Java提供的一种新的输入输出处理机制,它与传统IO基于流的处理方式不同,NIO支持面向缓冲区的(Buffer-oriented)、基于通道的(Channel-based)I/O操作。在Java NIO中,Buffer类是...

    java nio聊天室源码

    缓冲区提供了对数据进行高效管理的方法,如mark、reset、flip、clear和compact等。 3. **选择器(Selectors)**:选择器允许单线程同时监控多个通道,从而实现多路复用。当一个或多个通道准备进行读写操作时,选择...

    Java NIO.docx

    Java NIO 是 JDK 1.4 中引入的新的 IO 方式,它主要包含 Buffer、Channel、Selector 三个核心的组件。 Java NIO 概述 ---------------- Java NIO 是 Java 编程语言中的一种新的 IO 模式,它与传统 IO 的区别在于...

    javaNIO javaNIO

    这种操作使得`position`指向了之前写入数据的起始位置,而`limit`指向了缓冲区的末尾,从而可以顺序地读取缓冲区中的数据。 #### 六、ByteBuffer的工作原理 1. **allocate**:通过`ByteBuffer.allocate(size)`创建...

    The_Study_about_Java.nio.rar_java nio

    2. **缓冲区(Buffers)**:缓冲区是Java NIO的核心,它是内存块的抽象,用于在通道和应用程序之间传输数据。各种类型的原始数据类型(如byte、char、int等)都有对应的Buffer类。 3. **选择器(Selectors)**:...

    Java NIO核心概念总结篇

    而在 NIO 中,所有数据都通过缓冲区(Buffer)进行操作。 2. **非阻塞 I/O**:传统 IO 通常采用阻塞模式,这意味着线程会在 I/O 操作完成前一直等待。NIO 支持非阻塞模式,线程可以在等待 I/O 完成的同时做其他工作...

    java nio 尚硅谷 12讲 new

    - 缓冲区是NIO的核心组件,用于存储数据。它比数组更强大,提供了更多的管理功能,如标记(mark)、重置(reset)、容量(capacity)、限制(limit)和位置(position)等。 4. **选择器(Selector)** - 选择器...

    Java IO, NIO and NIO.2

    4. Mark(标记):一个基于零的索引,用于在调用缓冲区的reset()方法时,将缓冲区的position重置到标记位置。标记初始是未定义的。 选择器允许Java程序利用所谓的准备就绪选择(readiness selection)。这是通过...

    java8中NIO缓冲区(Buffer)的数据存储详解

    Java8 中 NIO 缓冲区(Buffer)的数据存储详解 Java8 中的 NIO 缓冲区(Buffer)是 Java 新特性中的一部分,用于存储不同类型的数据。缓冲区可以看作是一个数组,用于存储不同的数据类型,如 byte、char、short、...

    Java nio详细介绍 详细介绍java nio

    #### 二、Buffer & Channel(缓冲区与通道) **Buffer** 和 **Channel** 是NIO中的两个核心概念。 1. **Buffer是什么?** - **定义**:`Buffer`是一个包含数据的对象,用于读写操作。在NIO中,所有数据的读写都...

    详细了解JAVA NIO之Buffer(缓冲区)

    JAVA NIO之Buffer(缓冲区)是Java NIO中一个重要的概念,它提供了一种高效的数据处理方式。缓冲区是一个可以写入数据然后从中读取数据的内存块,它被包装成NIO Buffer对象,并提供了一组方法,用来方便的访问该块...

    JavaNIO_API帮助文档详解

    Java NIO_API通过引入基于缓冲区的非阻塞I/O机制,显著提升了I/O处理的性能和灵活性,尤其是在高并发服务器应用中。通过对`Buffer`、`Channel`和`Selector`等核心概念的理解与运用,开发者能够构建出更加高效、响应...

    Java NIO介绍

    在NIO中,所有数据的读取和写入都是通过缓冲区完成的,这与传统I/O直接读取或写入流的方式有所不同。 3. **选择器(Selector)**:用于监听多个通道的就绪状态,能够有效地管理多个连接。 #### 基本读写 在Java NIO中...

    Java中的缓冲区(直接缓冲区、非直接缓冲区等).docx

    ### Java中的缓冲区详解 #### 一、缓冲区概述 在Java中,缓冲区(Buffer)是一种重要的机制,用于处理大量的数据。它通过提供一个中间层,使得数据可以在内存与I/O设备之间高效地传输。缓冲区可以分为两大类:直接...

    未完成的java_nio

    - 缓冲区具有四个关键属性:容量(Capacity)、位置(Position)、限制(Limit)和标记(Mark)。 - 缓冲区的写入操作(put)和读取操作(get)都是相对于当前位置进行的,写入后位置增加,读取后位置同样增加。 ...

    java nio 详解

    NIO还支持直接缓冲区(Direct Buffer),这种缓冲区直接在本地内存中分配空间,避免了Java堆和本地内存之间的数据复制,从而提高了性能。 ##### 3. 异步I/O 除了非阻塞I/O外,NIO还支持异步I/O操作。在某些情况下...

    java基于nio的socket通信.rar

    Java NIO的核心组件包括通道(Channel)、缓冲区(Buffer)和选择器(Selector)。通道类似于流,但它们可以同时读写,且支持异步操作。缓冲区用于存储数据,而选择器则允许单个线程监控多个通道的事件,提高了多路...

Global site tag (gtag.js) - Google Analytics