键盘上流淌的日子

前言: IO对于系统设计来说,是一个很重要的关注点,往往系统运行的瓶颈就在IO设计上,无论是数据库IO,文件IO还是网络IO,都需要进行精致的设计,才能使得系统达到最佳运行状态。对于现代系统并发量、数据量的剧增,IO处理对于系统显得更加重要。研究Java IO对于我们工作有益无害。 Java.io包含了Java阻塞型IO的设计。Java的IO主要包含三个部分: 1.流式部分–IO的主体部分; 2.非流式部分–主要包含一些辅助流式部分的类,如:File类、RandomAccessFile类和FileDescriptor等类; 3.文件读取部分的与安全相关的类,如:SerializablePermission类。以及与本地操作系统相关的文件系统的类,如:FileSystem类和Win32FileSystem类和WinNTFileSystem类。 Java.io包中主要是字节流和字符流、输入与输出,流具有最基本的特点:流是一位的,单向的。 下面来看看java.io包中大部分类的具体类图,了解其继承关系。 字节输入流:

字节输出流:

字符输入流:

字节输出流:

由以上的类图可知,字节流和字符流大部分都是在InputStream、OutputStream、Writer、Reader接口约定实现的。 java.io系列接口和实现中,大量的使用了装饰者设计模式,这使得在不改变原有类结构的情况下,可以对类功能进行扩展,而且我们也可以创建自己的装饰者,来包装某些特定的流类。

接下来的系列中,本系列文章将从字节流开始讲起,,针对每种流和每种装饰的流进行分析。文章分析重点在源码分析和应用。

要想捉大鱼,不能怕水深。要想摘玫瑰,就得不怕刺。

键盘上流淌的日子

相关文章:

你感兴趣的文章:

标签云: