20230621 java.nio.Buffer
介绍
-
java.nio.Buffer
-
public abstract class Buffer
-
缓冲区都具有
mark
,可选的标记,用于重复一个读入或写出操作,默认 -1position
,读写位置,下一个值将在此进行读写,默认 0limit
,界限,超过它进行读写是没有意义的capacity
,容量,它永远不能改变
这些值满足下面的条件:
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