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 降低了性能

  • 相关阅读:
    使用反射调用某个类的成员方法
    java反射机制
    SVProgressHUD
    __objc__
    loadView
    v2ex 下拉刷新 SCRootViewController
    stuck with
    v2ex 下拉刷新模块
    转载
    vue-cli脚手架构建了项目如何去除Eslint验证(语法格式验证)
  • 原文地址:https://www.cnblogs.com/mingf123/p/3734421.html
Copyright © 2011-2022 走看看