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

Buffer的几个属性和方法速记

 
阅读更多

 

java.nio.Buffer 

 

属性

 

mark  
position
limit 一般情况下limit==catacity
capacity 此属性一经设置,就不会改变
remaing limit-position
address  

 

查询类方法

 

remaining  limit - position; 
hasRemaining limit < position;
 

 

改变类方法

 

mark mark=position;
reset position=mark;
clear

position=0;

limit=capacity;

mark=-1;

flip

limit=position;

position=0;

mark=-1;

rewind

position=0;

mark=-1;

limit()

limit=newLimit;

 

if (position > limit) position = limit;

if (mark > limit) mark = -1;

 

position()

position = newPosition;

 

if (mark > position) mark = -1;

 

System.arraycopy(hb, ix(position()), hb, ix(0), remaining());

 

position(remaining());

limit(capacity());

 

compact
slice

new HeapIntBuffer(hb,

-1,

0,

this.remaining(),

this.remaining(),

this.position() + offset);

 

  1. 共享底层存储byte[]
  2. mark=-1;
  3. position=0;
  4. limit=remaining;
  5. capacity=remaing;
  6. offset = offset+position;

 

 

 

duplicate

 new HeapByteBuffer(hb,

 

this.markValue(),

this.position(),

this.limit(),

this.capacity(),

offset);

 

  1. 共享底层存储byte[]
  2. mark=mark;
  3. position=position;
  4. limit=limit;
  5. capacity=capacity;
  6. offset = offset;

 

 

 

分享到:
评论

相关推荐

    ASP对象、属性及方法详解

    - `Response.Buffer`:这是一个布尔属性,用于控制是否先缓冲整个页面内容再发送。默认为True,即先缓冲后发送。设置为True可以控制何时发送数据,如`Response.Flush()`可以强制立即发送当前缓冲区内容。 - `...

    多次在一个buffer中写入数据的方法——源码

    本篇文章将深入探讨如何“多次在一个buffer中写入数据”,并避免数据被覆盖,以此来提升程序的性能和数据处理的灵活性。我们将通过分析提供的源码,了解其背后的技术原理,并给出相关知识点。 首先,我们要理解什么...

    node.JS二进制操作模块buffer对象使用方法详解

    Buffer类的实例有一些属性和方法用来管理Buffer对象,包括但不限于: - buf.length:表示Buffer实例的大小。 - buf.toString([encoding], [start], [end]):将Buffer实例解码成字符串,可选择使用指定的编码和切片。...

    buffer应用缓冲区

    在计算机科学领域,Buffer(缓冲区)是一种重要的概念,它...了解并掌握Buffer的使用方法,对于编写高效、稳定的网络应用程序至关重要。在实际编程中,我们需要根据具体场景灵活调整Buffer策略,以实现最佳的性能表现。

    Buffer.zip_buffer

    在这个文件中,开发者会看到Buffer类的定义,例如它的构造函数、析构函数,以及用于读写数据的方法,如read()和write()。头文件的作用在于提供编译时的接口信息,使得在其他源文件中可以安全地包含并使用Buffer类。 ...

    一个c++buffer的设计和实现

    5、线程使用完一个group后可以在使用其他的group,且不限在相同的原子buffer。 可能的问题在于,多次申请的问题,经过测试基本可以用。 方法2: 1、使用默认缓存5M 2、默认线程使用的内存为128K,即最多默认...

    c语言实现循环buffer

    首先,我们来看`cyc_buffer.c`和`cyc_buffer.h`这两个文件。`cyc_buffer.h`通常是头文件,包含循环缓冲区的定义和相关的函数声明,而`cyc_buffer.c`则实现了这些函数的逻辑。 在`cyc_buffer.h`中,我们可能会看到...

    ArcMap中Buffer的创建及使用

    Buffer 的创建主要有两种方法:使用 Buffer Wizard 和使用 Geoprocessing Wizard。 使用 Buffer Wizard 创建 Buffer 使用 Buffer Wizard 可以快速创建 Buffer,步骤如下: 1. 打开 Tools—&gt; Customize—&gt; ...

    C语言头文件 BUFFER

    C语言头文件 BUFFERC语言头文件 BUFFERC语言头文件 BUFFERC语言头文件 BUFFERC语言头文件 BUFFERC语言头文件 BUFFERC语言头文件 BUFFERC语言头文件 BUFFERC语言头文件 BUFFERC语言头文件 BUFFERC语言头文件 BUFFERC...

    在asp中对象 属性 方法 集合这四者有什么关系.doc

    在这个例子中,`ADODB.Connection` 是对象,`Open` 和 `Execute` 是方法,`ConnectionString` 是属性,而 `Fields` 集合包含了查询结果的属性(如 `UserName`)。 总之,ASP中的对象、属性、方法和集合构成了一个...

    Rt-thead studio软件下使用ringbuffer

    - RT-Thread提供了标准的RingBuffer接口,包括`rt_ringbuf_create`用于创建RingBuffer,`rt_ringbuf_put`和`rt_ringbuf_get`分别用于数据的插入和提取,以及`rt_ringbuf_space`和`rt_ringbuf_len`用于查询剩余空间...

    oracle性能调优之buffer cache

    在本文中,我们将详细介绍 Buffer Cache 的工作原理、状态、管理和优化方法。 Buffer Cache 的工作原理 Buffer Cache 由多个相互独立的 Buffer Pool 组成,每个 Buffer 对应一个 block,不同的 block size 对应...

    12 Buffer Pool这个内存数据结构到底长个什么样子.pdf

    具体而言,Buffer Pool包含以下几个知识点: 1. Buffer Pool大小配置:Buffer Pool的默认大小是128MB,但这个大小通常对于生产环境来说是不够的,因此需要根据服务器的硬件配置去调整Buffer Pool的大小。对于拥有更...

    Oracle Buffer和Cache的区别

    Oracle数据库中的Buffer Cache和一般的Cache概念虽然相似,但它们在具体应用中有着不同的侧重点。首先,我们需要理解Buffer Cache的基本概念。在Oracle数据库系统中,Buffer Cache是内存结构的一部分,它存储了最近...

    RingBuffer

    RingBuffer是一种数据结构,它在计算机科学和编程中被广泛使用,特别是在并发编程和高效数据传输场景中。这个名字来源于它的环形形状,就像一个圆环,数据在这个环中循环存储和读取。RingBuffer的核心特性是其固定...

    nodejs中的buffer

    Buffer类提供了一种高效的方式存储和操作二进制数据,它是一个特殊的对象,其内部结构与数组类似,但数组元素是任意类型,而Buffer对象的元素则是固定大小的字节。 1. **Buffer概念**: Buffer对象是固定长度的...

    circularbuffer_zip_circularbuffer_源码

    `CircularBuffer`通常包含一个固定大小的数组作为底层存储,并提供了诸如`Enqueue`(入队)和`Dequeue`(出队)等方法来操作数据。这些方法的实现通常涉及到对索引的巧妙管理,以确保在缓冲区满或空时能正确地插入和...

    Buffer缓冲和页面置换

    在计算机系统中,Buffer缓冲和页面置换是两个关键的内存管理技术,特别是在处理大量数据时,它们对于提高系统性能和优化资源使用具有重要意义。 Buffer缓冲技术主要涉及到I/O操作,尤其是磁盘与内存之间的数据传输...

    VLC input buffer管理

    以下是对VLC input buffer管理的详细分析,涵盖了其重要性和具体实现的几个关键点。 背景分析: 在播放网络视频流时,由于网络条件的不确定性,接收方有可能会面临数据到达速度低于预期的情况。这会导致接收方解码...

    ringbuffer - 原创-高效率管理

    掌握RingBuffer的工作原理和使用方法,可以帮助我们优化数据处理流程,减少程序中的等待时间和内存消耗,尤其在处理大量数据流的场景下,如网络传输、音频视频编码解码、传感器数据采集等。通过阅读和理解这个原创的...

Global site tag (gtag.js) - Google Analytics