1.缓冲区(Buffer)
一个用于特定基本数据类型的容器。由 java.nio 包定义的,所有缓冲区都是 Buffer 抽象类的子类,任何时候访问 NIO 中
的数据,都是通过缓冲区进行操作
在 Java NIO 中负责数据的存取。缓冲区就是数组。用于存储不同数据类型的数据,据数据类型不同(boolean 除外) ,有以
下 Buffer 常用子类:
上述缓冲区的管理方式几乎一致,通过 allocate() 获取缓冲区:
1.1.缓冲区的基本属性
标记、位置、限制、容量遵守以下不变式: 0 <= mark <= position <= limit <= capacity
1.2.缓冲区的常用方法:
1.2.缓冲区的数据操作:
Buffer 所有子类提供了两个用于数据操作的方法:get() 与 put() 方法
1.3.直接缓冲区和非直接缓冲区:
非直接缓冲区:通过 allocate() 方法分配缓冲区,将缓冲区建立在 JVM 的内存中
直接缓冲区:通过 allocateDirect() 方法分配直接缓冲区,将缓冲区建立在物理内存中,可以提高效率
@Test
public void test3(){
//分配直接缓冲区
ByteBuffer buf = ByteBuffer.allocateDirect(1024);
System.out.println(buf.isDirect());
}