• 代码优化细节


    1、尽量指定类、方法的final修饰符

    2、尽量重用对象、

    3、及时关闭流

    4、尽量使用局部变量,实例变量等创建是在堆中,效率较慢,局部变量在方法中创建,方法的运行结束消失而消失

    5、减少变量的重复运算,比如在for循环中,调用size(),每次都要进行调用

    6、尽量采用懒加载,在需要的时候创建

    7、慎用异常

    8、不要在循环中使用try catch

    9、集合类等指定初始长度

    10、当复制大量数据时,使用System.arraycopy()命令

    11、循环内不要不断创建对象引用,

    不推荐

    for (int i = 1; i <= length; i++){
        Object obj
    = new Object(); }

    改为:

    Object obj = null;for (int i = 0; i <= count; i++) { obj = new Object(); }

    12、基于效率和类型检查的考虑,应该尽可能使用array,无法确定数组大小时才使用ArrayList

    13、尽量使用HashMap、ArrayList、StringBuilder,除非线程安全需要,否则不推荐使用Hashtable、Vector、StringBuffer,后三者由于使用同步机制而导致了性能开销

    14、不要将数组声明为public static final、

    15、尽量避免随意使用静态变量、

    16、使用同步代码块替代同步方法

    17、将常量声明为static final,并以大写命名

    这样在编译期间就可以把这些内容放入常量池中,避免运行期间计算生成常量的值。另外,将常量的名字以大写命名也可以方便区分出常量与变量

    18、不要创建一些不使用的对象,不要导入一些不使用的类

    19、程序运行过程中避免使用反射

    20、使用数据库连接池和线程池

    21、使用带缓冲的输入输出流进行IO操作

    22、顺序插入和随机访问比较多的场景使用ArrayList,元素删除和中间插入比较多的场景使用LinkedList这个,理解ArrayList和LinkedList的原理就知道了

    23、不要让public方法中有太多的形参

    24、字符串变量和字符串常量equals的时候将字符串常量写在前面

    这么做主要是可以避免空指针异常

    25、不要对数组使用toString()方法

    26、不要对超出范围的基本数据类型做向下强制转型

    27、公用的集合类中不使用的数据一定要及时remove掉

    28、把一个基本数据类型转为字符串,基本数据类型.toString()是最快的方式、String.valueOf(数据)次之、数据+””最慢

    28、使用最有效率的方式去遍历Map

         Map<String, String> map= new HashMap<String, String>();
            map.put("111", "222");
            Set<Map.Entry<String, String>> entrySet = map.entrySet();
            Iterator<Map.Entry<String, String>> iter= entrySet.iterator(); 
            while (iter.hasNext()){
              Map.Entry<String, String> entry = iter.next();
              System.out.println(entry.getKey() + "\t" + entry.getValue());
            }

    29、对资源的close()建议分开操作

    学有所思,思有所成。
  • 相关阅读:
    数据库系统理论概念
    SQL常用函数
    Android中几种常见的定时刷新方式
    Android Resource介绍和使用
    Android 使用Loader示例
    Android框架浅析之锁屏(Keyguard)机制原理
    Android Power Management
    Android中蓝牙的基本使用
    分组ListView使用技巧
    使用CursorLoader异步加载数据
  • 原文地址:https://www.cnblogs.com/lqh969696/p/15623697.html
Copyright © 2020-2023  润新知