zoukankan      html  css  js  c++  java
  • 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 降低了性能

  • 相关阅读:
    矩阵乘法与邻接矩阵
    矩阵加速 学习笔记
    P5596 【XR-4】题
    P1842 奶牛玩杂技
    CF449B Jzzhu and Cities
    小球与盒子
    [JZOJ5279]香港记者题解--最短路图
    [学习笔记]二分图匹配与匈牙利算法
    [NOIP2018模拟赛10.25]瞎搞报告
    luogu2657-Windy数题解--数位DP
  • 原文地址:https://www.cnblogs.com/mingf123/p/3734421.html
Copyright © 2011-2022 走看看