20230621 java.nio.Buffer

发布时间 2023-08-29 17:08:03作者: 流星<。)#)))≦

介绍

  • java.nio.Buffer

  • public abstract class Buffer

  • 缓冲区都具有

    • mark可选的标记,用于重复一个读入或写出操作,默认 -1
    • position读写位置,下一个值将在此进行读写,默认 0
    • limit界限,超过它进行读写是没有意义的
    • capacity容量,它永远不能改变

img

这些值满足下面的条件:

0 <= mark <= position <= limit <= capacity

API

  • mark

    • 可选的标记
  • position

    • 读写位置
  • limit

    • 界限
  • capacity

    • 容量
  • reset

    • 将这个缓冲区的位置设置到标记(mark),从而允许被标记的部分可以再次被读入或写出,返回 this
    • 配合 mark 使用,如果没有设置 mark 会发生异常
  • clear

    • 通过将位置复位到 0 ,并将界限设置到容量,使这个缓冲区为写出做好准备。返回 this
  • flip

    • 将界限(limit)设置到位置(position),并将位置(position)复位到 0
    • mark 重置
    • 使这个缓冲区为读入做好准备
    • 翻转
  • rewind

    • 将读写位置(position)复位到 0 ,并保持界限(limit)不变
    • mark 重置
    • 使这个缓冲区为重新读入相同的值做好准备
    • 重读
  • remaining

    • 返回剩余可读入或可写出的值的数量
    • 即界限(limit)与位置(position)之间的差异
  • hasRemaining

  • isReadOnly

  • hasArray

  • array

  • arrayOffset

  • isDirect

    • 是否直接使用本地内存,而不是通过 JVM 堆空间
  • slice

  • duplicate