Buffer是一个抽象类,有具体的子类,如ByteBuffer、IntBuffer等。它似乎是特定原始类型数据的容器。缓冲区有什么好处?为什么我不只使用数组或列表?
pax*_*blo 10
缓冲区可以以其最简单的形式定义为某种类型的连续内存块。因此,大小为 4K(4096 字节)的字节缓冲区可能会0xf000通过0xffff包含占用内存位置。
limit至于为什么可以使用缓冲区类型而不是数组或列表,这两种替代方案都没有,position或 的内置功能mark。
在第一项上,缓冲区将capacity与limitin 分开,您可以将 acapacity设为 1000,当前limit值为 10。换句话说,它强制具有可变大小的能力,最大可达(包括)capacity。
对于其他两个功能,当前position提供了一种内置方法来读取或写入下一个元素,从而简化了顺序处理,并且mark提供了一种保存当前position以供以后重置的方法。
如果您需要将所有这些功能与数组或列表结合使用,则所有这些功能都需要额外的变量。
当然,如果您不需要任何这些功能,那么请务必使用数组。
| 归档时间: |
|
| 查看次数: |
13014 次 |
| 最近记录: |