Java代码性能优化技巧

流方面:

private FileOutputStream writer;

writer = new FileOoutputStream(fileName);

使用BufferedOutputStream 对写入FileOutputStream的数据进行缓存

//将writer的类型由FileOutputStream 变更为BufferedOutputStream
//private FileOutputStream writer;
private BufferedOutputStream writer;//Java6中默认的缓存大小为8192

初始化

//初始化BufferedOutputStream
//writer = new FileOutputStream(fileName);
writer = new BufferedOutputStream(new FileOutputStream());


但是这样改动仍然不好 writer的类型被限制为了BufferedOutputStream 继续

private OutputStream writer;
//BufferedOutputStream write = new BufferedOutputStream
write = new BufferedOutputStream()

这样修改后 此时的write 能接受的类型不仅是 BufferedOutputStream 还可以是 ByteArrayOutputStream、DataOutputStream、FileOutputStream等等。

提高了write 的灵活性。

同时,在关闭流时

write.flush();
write.close();

如果需要关闭流 不需要在之前flush 因为close方法底层中默认先会调用flush

如果写上flush 反而执行了两次flush 降低了性能

 

posted @ 2014-05-17 19:04  天地大同  阅读(264)  评论(0编辑  收藏  举报