zoukankan      html  css  js  c++  java
  • 编写高质量代码:改善Java的151个建议(性能和效率)132-133

    132.提升Java性能的方法

      1.不要在循环里面计算(如果在循环里面计算,每循环一次就计算一次,这会降低系统效率)

      例:while(i<count*2) 应该该为int c = count*2 ; while(i<c){ }

      2.尽量把不变的属性、方法、数组等声明为final static

        例:public final static  String[] cums = {"零","壹","贰","叁","肆","伍","陆","柒","玐","玖"} ; 这样,它只会在类加载的时候创建,以后直接使用。如果在方法里面声明非final static的数组,则每次调用该方法,就会重新生成一个数组,从而消耗了系统性能

      3.缩小变量的作用范围

        关于变量,能定义在方法内的就定义在方法内,能定义在一个循环体内的就定义在一个循环体内,能在try-catch中的就放在try-catch,其目地就是加快GC的回收

      4.频繁的字符串操作使用StringBuffer或StringBuilder

      5.使用非线性检索

        如果在ArrayList中存储了大量数据,检索应该使用java.util.Collections.binarySearch()进行检索。(它使用的是二分搜索法,在检索前应该先排序,否则准确性不可靠)

        ArrayList中的少量数据用自身的indexOf()方法,它是逐个元素进行比较

      6.覆写Exception的fillInStackTrace

      

      7.不建立冗余对象

        例如下面这段代码:变量exceptionMsg,在调用刚方法的时候,变量就创建了,但是只有当catch,才会用到该变量,没出问题的时候是不会用到该变量的。正确的做法是把该变量声明到catch语句中(这点就相当于第3点,缩小变量的作用域)

      

      总结:

     133.若非必要,不要克隆对象

       克隆对象并不比直接生成对象高

  • 相关阅读:
    20201231《信息安全专业导论》第一周学习总结
    Python模拟进程状态
    Python gui
    2020-2021-1 20201208《信息安全专业导论》第10周学习总结
    2020-2021-1 20201208 《信息安全专业导论》第九周学习总结
    熟悉编程语言
    俄罗斯方块
    小学四则运算编程实践
    2020-2021-1-1 《信息安全专业导论》第八周学习总结
    2020-2021-1 20201208 《信息安全专业导论》第七周学习总结
  • 原文地址:https://www.cnblogs.com/-scl/p/7685580.html
Copyright © 2011-2022 走看看