80-10-010-原理-Java NIO-简介
Posted 九师兄
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了80-10-010-原理-Java NIO-简介相关的知识,希望对你有一定的参考价值。
1.概述
java . io中最为核心的一个概念是流(Stream) ,面向流的编程。Java中,-个流要么是输入流,要么是输出流,不可能同时既是输入流又是输出流。
java. nio中拥有3个核心概念: Selector, Channel与Buffer. 在java.nio中,我们是面向块(block) 或是缓冲区(buffer) 编程的。Buffer本身就是一块内存, 底层实现上,它实际上是个数组。数据的读、写都是通过Buffer来实现的。
除了数组之外,Buffer还提供了对于数据的结构化访问方式,并且可以追踪到系统的读写过程。
Java中的8种原生数据类型都有各自对应的Buffer类型,如IntBuffer, LongBuffer , ByteBuffer 及CharBuffer等等。
Channel指的是可以向其写入数据或是从中读取数据的对象,它类似于java . io中的Stream。所有数据的读写都是通过Buffer来进行的,永远不会出现直接向Channe1写入数据的情况, 或是直接从Channe1读取数据的情况。
与Stream不同的是,Channe1是双向的, - 个流只可能是InputStream或是0utputStream, Channel打开后则可以进行读取、写入或是读写。
由于channel是双向的,因此它能更好地反映出底层操作系
以上是关于80-10-010-原理-Java NIO-简介的主要内容,如果未能解决你的问题,请参考以下文章