Java代码性能优化技巧

时间:2014-05-17 23:23:05   收藏:0   阅读:385

流方面:

bubuko.com,布布扣
private FileOutputStream writer;

writer = new FileOoutputStream(fileName);
bubuko.com,布布扣

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

bubuko.com,布布扣
//将writer的类型由FileOutputStream 变更为BufferedOutputStream
//private FileOutputStream writer;
private BufferedOutputStream writer;//Java6中默认的缓存大小为8192
bubuko.com,布布扣

初始化

bubuko.com,布布扣
//初始化BufferedOutputStream
//writer = new FileOutputStream(fileName);
writer = new BufferedOutputStream(new FileOutputStream());
bubuko.com,布布扣


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

bubuko.com,布布扣
private OutputStream writer;
//BufferedOutputStream write = new BufferedOutputStream
write = new BufferedOutputStream()
bubuko.com,布布扣

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

提高了write 的灵活性。

同时,在关闭流时

bubuko.com,布布扣
write.flush();
write.close();
bubuko.com,布布扣

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

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

 

Java代码性能优化技巧,布布扣,bubuko.com

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!