Java NIO 缓冲区深入解析
1. 缓冲区复制操作
在 Java NIO 中,缓冲区对象的创建方式多样,它不仅可以管理存储在数组中的外部数据,还能管理其他缓冲区中的数据。当一个缓冲区管理另一个缓冲区中的数据元素时,这个缓冲区被称为视图缓冲区。大多数视图缓冲区是 ByteBuffer 的视图。
下面以 CharBuffer 为例,了解缓冲区的复制操作:
CharBuffer charBuffer = CharBuffer.wrap ("Hello World");
这个操作创建了一个 CharBuffer 对象。同时,还有三参数形式的 wrap 方法,它可以描述给定 CharSequence 的子序列,这是对 CharSequence.subsequence() 的便捷调用。
2. 复制缓冲区
复制缓冲区是通过在现有缓冲区实例上调用方法来创建新缓冲区的操作。以 CharBuffer 为例,相关方法如下:
public abstract class CharBuffer
extends Buffer implements CharSequence, Comparable
{
// This is a partial API listing
public abstract CharBuffer duplicate();
public abstract CharBuffer asReadOnly