Java中缓冲区的用途是什么?
Buffer是一个抽象类,具有具体的子类,如ByteBuffer、IntBuffer等。它似乎是一个特定基元类型的数据容器。缓冲区的好处是什么?为什么我不使用数组或列表呢?缓冲区可以以最简单的形式定义为某种类型的连续内存块。因此,大小为4K(4096字节)的字节缓冲区可能会占用内存位置Java中缓冲区的用途是什么?,java,buffer,Java,Buffer,Buffer是一个抽象类,具有具体的子类,如ByteBuffer、IntBuffer等。它似乎是一个特定基元类型的数据容器。缓冲区的好处是什么?为什么我不使用数组或列表呢?缓冲区可以以最简单的形式定义为某种类型的连续内存块。因此,大小为4K(4096字节)的字节缓冲区可能会占用内存位置0xf000到0xffff 至于为什么可以使用缓冲区类型而不是数组或列表,这两种备选方案都没有限制、位置或标记的内置功能 在第一项上,缓冲区将容量与限制分开,因为当前限制为10,则容量为1000。换言之,它强制实现
0xf000
到0xffff
至于为什么可以使用缓冲区类型而不是数组或列表,这两种备选方案都没有限制
、位置
或标记
的内置功能
在第一项上,缓冲区将容量
与限制
分开,因为当前限制
为10,则容量
为1000。换言之,它强制实现了一种可变大小的能力,最大可容纳容量
对于其他两个功能,当前位置
提供了一种内置方式来读取或写入下一个元素,从而简化了顺序处理,而标记
提供了一种方式来保存当前位置
,以便稍后重置
如果需要将这些特性与数组或列表结合使用,则所有这些特性都需要额外的变量
当然,如果您不需要这些功能中的任何一项,那么请务必使用数组。缓冲区可以以最简单的形式定义为某种类型的连续内存块。因此,大小为4K(4096字节)的字节缓冲区可能会占用内存位置
0xf000
到0xffff
至于为什么可以使用缓冲区类型而不是数组或列表,这两种备选方案都没有限制
、位置
或标记
的内置功能
在第一项上,缓冲区将容量
与限制
分开,因为当前限制
为10,则容量
为1000。换言之,它强制实现了一种可变大小的能力,最大可容纳容量
对于其他两个功能,当前位置
提供了一种内置方式来读取或写入下一个元素,从而简化了顺序处理,而标记
提供了一种方式来保存当前位置
,以便稍后重置
如果需要将这些特性与数组或列表结合使用,则所有这些特性都需要额外的变量
当然,如果您不需要这些功能中的任何一项,那么请务必使用数组。阅读文档时应突出显示差异,以回答此问题。例如,我看到了这些方法的作用。我想知道缓冲区的典型用途是什么。为了清楚起见,我的问题的另一个版本可能是“缓冲区”这个名称意味着什么?”。我想我认为它的功能暗示了它的用途_(ツ)_/“阅读文档应该通过突出显示差异来回答这个问题。例如,我看到了这些方法的作用。我想知道缓冲区的用途通常是什么。为了清楚起见,我的问题的另一个版本可能是“缓冲区的名称意味着什么?”。我想我假设缓冲区的功能暗示了其用途”_(ツ)_/“‘buffer’这个名字意味着什么?@cowpow,一个buffer只是一个连续的内存块。例如,位于内存位置17的一个十字节的buffer占用17到26(含17到26)的字节地址。我将把它添加到答案中。buffer这个名字意味着什么?@cowpow,一个buffer只是一个连续的内存块。例如,一个十字节的buffer内存位置17处的e缓冲区占用从17到26(含17)的字节地址。我将把它添加到答案中。