为了提高I/O性能,主要基于以下原则:

(1)能少访问磁盘尽量少访问

(2)能少访问底层操作系统尽量少访问底层操作系统

(3)能少方法调用尽量少方法调用

(4)能少个别的处理字节字符尽量少个别处理。


技巧1:能用缓冲尽量使用缓冲来进行访问

比如基于字符的有BufferedReader,基于字节的有BufferedInputStream。或者用块读取方法来提高性能。


技巧2:InputStream比Reader高效,OutputStream比Writer高效


技巧3:byte比char高效

一个char用2个字节来保存字符,但是一个byte只用1个字节来保存数据。而且byte可以避免unicode的转换。


技巧4:缓冲块比缓冲流更高效

虽然缓冲流比单独字符访问高效的多,但是毕竟涉及到多次方法调用,缓冲块则比缓冲流高效的多。


技巧5:finally中关闭stream

程序中用到的各种资源要及时关闭,而finally块中是最好的关闭的地方。因为finally块总是会被执行的。


技巧6:尽早及时释放大对象资源

比如数据库连接资源等,用完及时关闭,开得过久对系统开销太大。