美文网首页
Java Nio Study

Java Nio Study

作者: fdsun | 来源:发表于2020-10-23 00:04 被阅读0次

java.io
java.nio

java.io中最为核心的一个概念是流(Stream),面向流的编程。java中,一个流要么是输入流,要目是输出流,不可能同时即是输入流又是输出流。

java.nio中有3个核心概念:Selector(选择器),Channel(通道)与Buffer(缓冲区)。在java.nio中,我们是面向块(block)或是缓冲区(buffer)编程的。Buffer本身就是一块内存,底层实现上,它实际上是个数组。数据的读、写都是通过buffer来实现的。

buffer.flip(); //进行读写切换

除了数组之外,Buffer还提供了对于数据的结构化访问方式,并且可以追踪到系统的读写过程。

Java中8中原生数据类型都有各自对应的Buffer类型,例如IntBuffer,LongBuffer,ByteBuffer以及CharBuffer等。

Channel指的是可以向其写入数据或是从中读取数据的对象,它类似于java.io中的stream。

所有数据的读写都是通过Buffer来进行的,永远不会出现直接向Channel写入数据的情况,或是直接从Channel读取数据的情况。

与Stream不同的是,Channel是双向的,一个流只可能是InputStream或是OutPutStream,Channel打开后则可以进行读取、写入或者读写。

由于Channel是双向的,因此它能更好地反映出底层操作系统的真实情况;在Linux系统中,底层操作系统的通道就是双向的。

javaNioComponent.png

相关文章

  • Java Nio Study

    java.iojava.nio java.io中最为核心的一个概念是流(Stream),面向流的编程。java中,...

  • Java NIO Study (2)

    Java NIO Buffer的三个重要属性 Buffer中3个重要状态属性的含义:position(位置),li...

  • nio

    参考文章 Java Nio Java NIO学习笔记 - NIO客户端时序图 Java NIO学习笔记 - NIO...

  • Java Nio 之Buffer

    Java Nio 系列Java Nio 之BufferJava Nio 之直接内存Java Nio 之高级搬砖工(...

  • Java Nio 之高级搬运工(FileChannel)二

    Java Nio 系列Java Nio 之BufferJava Nio 之直接内存Java Nio 之高级搬砖工(...

  • Java Nio 之高级搬砖工(FileChannel) 一

    Java Nio 系列Java Nio 之BufferJava Nio 之直接内存Java Nio 之高级搬砖工(...

  • Java Nio 之直接内存

    Java Nio 系列Java Nio 之BufferJava Nio 之直接内存Java Nio 之高级搬砖工(...

  • Chapter 15 . Java NIO

    阅读原文 Chapter 15 . Java NIO 15.1 Java NIO 简介 Java NIO(New...

  • java NIO

    并发编程网 - Java NIO系列教程 javaeye - Java NIO 系列教程 NIO 入门 Java ...

  • Java学习资源收集

    Java基础核心 Java NIO Java NIO系列教程(并发编程网) 攻破JAVA NIO技术壁垒 Java...

网友评论

      本文标题:Java Nio Study

      本文链接:https://www.haomeiwen.com/subject/csemmktx.html