zoukankan      html  css  js  c++  java
  • 浅谈JAVA代码优化

    JAVA代码的优化分为两个方面:

    一、减小代码的体积。二、提高代码的执行效率。

    ======================================================================================

    一、减小代码的体积

    1.如果要改动代码尽量集中在一处修改,例如要修改某些属性的值,可以写一个统一化的方法对属性进行修改。

    2.如果有一个功能超过两次被使用,可以考虑把它封装一个静态的方法写在公共的Utils中。

    3.如果有超过两个子类在某个函数中做了相似但又不同的操作,可以考虑将这个函数在父类中抽象化。

     

    二、提高代码的执行效率

    1.时间复杂度尽量要小(越少的loop嵌套,代码的执行效率越高)。写代码时可以多采用过滤的方式提取出目标数据,尽量不使用循环的方式提取。

    2.写代码切勿相互依赖,尽量做到解耦(例如A Service中调用了B Service中的方法,同理B也调用了A,这样是不可以的)。

    3.减少动态运算的语句,宁可浪费一点内存去处理数据,也不可让它动态运算浪费CPU。

    4.减少对象的创建,由于JVM创建对象的时候会花费时间生成,当对象失效的时候JVM还会对其进行垃圾回收,例如对字符串的拼接尽量使用StringBuffer、if判断中对象的使用可以在判断中创建。如下代码:

    //低效率的写法
    List list  = new ArrayList<>();
    int[] arr = new int[]{0,1,5,8,15};
    for(int i = 0; i <= arr.length; ++i;){
      String name = new String("Jack");
      if(arr[i]==i){
        list.add(name);
      }
    }
    //高效率的写法
    List list  = new ArrayList<>();
    int[] arr = new int[]{0,1,5,8,15};
    for(int i = 0, len = arr.length; i <= len; ++i;){
      if(arr[i]==i){
        String name = new String("Jack");
        list.add(name);
      }
    }

    5.如果成员变量和局部变量都能保证功能的实现,尽量使用局部变量。因为局部变量存储在栈中速度较快,成员变量存储在堆中速度较慢。

    6.初始化变量时尽量不要写在循环中,如下代码:

    //低效率的写法
    for(int i = 0; i <= n; ++i){
      String name = "Jack";
      System.out.println(name);
    }
    //高效率的写法
    String name = "Jack";
    for(int i = 0; i <= n; ++i){
      System.out.println(name);
    }

    7.数据库的连接和I/O流的操作,在完成使用后应当及时的进行关闭。

    8.try catch不要写在循环的嵌套中,尽量写在循环的最外层,异常的使用要谨慎。

  • 相关阅读:
    HDU1213How Many Tables并查集
    Redis新的存储模式diskstore
    GPFS文件系统笔记
    redis持久化
    360安全卫士qurl.f.360.cn分析
    [原创]解决DataSet的GetXml()方法空列不返回问题
    在多台服务器上简单实现Redis的数据主从复制
    史航416随笔
    史航416实验1总结
    史航416第二次作业总结
  • 原文地址:https://www.cnblogs.com/ALittleMoreLove/p/11091086.html
Copyright © 2011-2022 走看看