Java NIO之缓冲区

Posted mler

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java NIO之缓冲区相关的知识,希望对你有一定的参考价值。

Java NIO之Buffer

  Java传统的I/O模型是面向单个字节的,它将输入输出抽象为字节流或字符流。这种单个字节的读取或写入模型的效率比较低,而且不符合操作系统的I/O特点。操作系统的IO是面向字节块的,通常是直接从磁盘中读取一块数据到内存或写入一块数据到磁盘。Java NIO提供了缓冲区来实现字节块的读写。

  Buffer内部管理着一个数组,数据存放在数组中。Buffer作为数据的载体,Java程序在使用NIO时都会通过Buffer与外界进行通信。

一.缓冲区的类别

 技术分享图片

如上图所示,除了boolean类型外,Java为其他七种基本类型提供了相应的Buffer。这七种Buffer中,ByteBuffer是最基本的Buffer,其他的类的Buffer可以通过ByteBuffer转换得到。而且在使用通道对外传输数据时,要求必须是ByteBuffer。

二.缓冲区的四种属性

capacity

 

以上是关于Java NIO之缓冲区的主要内容,如果未能解决你的问题,请参考以下文章

Java NIO之缓冲

[Java]I/O底层原理之三:NIO

Java之NIO

Java NIO之缓冲区

Java NIO 之 Buffer(缓冲区)

Java NIO 之 Buffer(缓冲区)