【JAVA IO】JAVA IO 源码概述

【JAVA IO】JAVA IO 源码概述

Byte Based(字节流) Character Based(字符流)
目的 Input Output Input Output
Basic InputStream OutputStream ReaderInputStreamReader WriterOutputStreamWriter
Arrays ByteArrayInputStream ByteArrayOutputStream CharArrayReader CharArrayWriter
Files FileInputStream,RandomAccessFile FileOutputStream,RandomAccessFile FileReader FileWriter
Pipes PipedInputStream PipedOutputStream PipedReader PipedWriter
Buffering BufferedInputStream BufferedOutputStream BufferedReader BufferedWriter
Filtering FilterInputStream FilterOutputStream FilterReader FilterWriter
Parsing PushbackInputStream,StreamTokenizer PushbackReaderLineNumberReader
Strings StringReader StringWriter
Data DataInputStream DataOutputStream
Data - Formatted PrintStream PrintWriter
Objects ObjectInputStream ObjectOutputStream
Utilities SequenceInputStream

以上的图和表,是经典的JAVA IO的部分,在大量的JAVA语言入门读物都会介绍,Think in java 也专门用了一个章节介绍了JAVA IO 和 JAVA NIO;

NIO是JDK 1.4 引入,提高读写效率的库,主要围绕两个概念,channel和buffer进行操作。

NIO关系图如下:

image.png

1.7之后 引入了NIO2,进一步提高了IO效率。

Netty以NIO为基础的,JAVA IO框架,提供异步的、事件驱动的网络应用程序框架和工具,用以快速开发高性能、高可靠性的网络服务器和客户端程序。

计划分四个部分

  • JAVA Classic IO
  • JAVA NIO
  • JAVA NIO2
  • Netty

参考

JDK源码

《Java I/O, NIO and NIO.2 》

《Think in java》

http://www.importnew.com/23708.html

http://tutorials.jenkov.com/java-io/index.html

你可能感兴趣的:(【JAVA IO】JAVA IO 源码概述)