标签:场景 mat 大小 抽象 默认 允许 writer ade 性能



InputStream特点: 读取字节流的抽象类
BufferedInputStream特点:
InputStream 中读取流mark() 和 reset() 方法fill() 方法ByteArrayInputStream特点:
mark() 和 reset()DataInputStream特点:
DataOutputStream 写入流再用 DataInputStream 读出FilterInputStream特点:
OutputStream特点: 写入字节流的抽象类
BufferedOutputStream特点: 增加了缓冲区, 使得不用每次 write() 都调用底层流 write()
ByteArrayOutputStream特点: 将字节写入内存中的一段区域
DataOutputStream特点:
DateInputStreamFilterOutputStream特点: 为其他流提供附加功能的装饰流父类

Reader特点: 读取字符流的抽象类
BufferedReader特点:
Reader 都被 BufferedReader 所装饰. 否则每个 read()操作都会调用底层 read() 的操作.LineNumberReader特点: 在 BufferedReader 基础上保留了追踪行号
CharArrayReader特点: 从内存缓冲区中读取字符到另外一个缓冲区
InputStreamReader特点:
read()会触发一个或多个字节的读取操作. 为了更有效的将字节转化成字符, 有时会预读一些字节FileReader特点:
FileInputStream实力构造一个InputStreamReader对象,然后将这个对象传到其Reader构造函数.FilterReader特点: 抽象类, 用来读取Filtered字符流
PushbackReader特点: 允许往字符流末尾添加一个或者多个字符
PipedReader特点: 从管道PipedWriter中读取字符
StringReader特点: 从String中读取字符
Writer特点: 写入字符流的抽象类
BufferedWriter特点:
newLine()会往输出流中写入一个 line.separatorWriter 都被 BufferedWriter 所装饰. 否则每个 writer() 操作都会调用底层 write() 的操作CharArrayWriter特点:
Writer使用toCharArray() 或者 toString()直接获取到close() 方法没有什么作用. 即使调用了close()后, 再调用其他方法, 也不会产生异常OutputStreamWriter特点:
write()方法, 都会导致对字符的编码, 编码后的字节流一直在 buffer 中累计, 在调用底层字节流的write()方法时写入BufferedWriter连用FileWriter特点:
FileOutputStream实力构造一个OutputStreamWriter对象,然后将这个对象传到其Writer构造函数.FilterWriter特点: 抽象类, 用来写入Filtered字符流
PipedWriter特点: 向管道写入字符流
PrintWriter特点:
PrintWriter 用来格式化对象并输出到字符流中PrintWriter 包含了很多类型的写出方法, 但是不包括原始byte类型PrintStream, 即使打开了 automatic flushing , 方法println, printf或者 format 方法调用后才会 flush. StringWriter特点: 往StringBuffer 中写入数据
问: Externalizable 和 Serializable 的区别是什么?
答: 由于Serializable是一个标志接口. 使用Serializable不需要实现任何方法, Java runtime 会使用反射来 marshal 和 unmarshal 对象.
在Java 旧版本中, 反射非常慢, 所以 serializing 大对象会有一定的性能问题. 为了解决这个问题, Java 提供了 Externalizable 接口让开发人员自定义 marshal 和 unmarshal 方法.
Externalizable. 标签:场景 mat 大小 抽象 默认 允许 writer ade 性能
原文地址:http://www.cnblogs.com/pragmatic/p/6143067.html