java 代码规范

内存优化:

        1:jvm内存设置、变量用到的时候在初始化、不再使用的变量=null、以便gc回收、
        2:没有必要时不要使用静态变量
        3:充分利用单例机制:减少资源加载、缩短运行时间、提高系统效率
        4:减少对象创建:尤其是循环中,系统要花时间创建obj、还要回收这些obj
        5:使用final修饰符:一个class是final的 其中方法都是final
        6:尽量使用局部变量:调用方法时传递的临时变量都是分配给方法的栈【stack】中、速度较快
            其他变量、如静态变量、实例变量等、都是在堆【Heap】中创建、速度较慢
        7:学会使用StringBuilder 和 StringBuffer
            单线程使用StringBuilder 多线程使用StringBuffer
        8:尽量不要使用finalize方法:会导致GC负担更大
        9:尽量使用基本类型代替对象
            String str = "str";
            String str = new String("str");//不要使用这种方式
        10:学会使用HashMap、ArrayList
            HashTable、Vector中使用多线程机制、内部使用同步机制、会降低性能
        11:深入理解HashMap 当要创建比较大的hashMap时候、尽量避免HashMap进行多次hash重构
        12:减少对变量的重复性运算
            for(int i = 0; i < list.size() ; i++ )

            for(int i = 0,len = list.size(); i < len; i++)

        13: 避免不必要对象创建
        14:尽量在finally中释放资源
        15:使用移位来代替乘除法   >>   <<      左移1位×2  右移1位 /2 
        16: 尽早释放无用对象的引用
        17:尽量避免使用split  考虑使用apache的StringUtils.split(string,char)
        18: ArrayList 和 LinkedList 
            一个是线性表、一个是链表、
            一句话、随机查询使用ArrayList\ 添加删除操作使用LinkedList由于ArrayList 
        19:尽量使用System.arrayCopy() 替代 通过循环复制数组
        20:尽量缓存经常使用的对象
        21:尽量避免非常大的内存分配
            有时候问题不是有当时堆状态造成的、而是因为分配失败造成的、分配的内存块必须是连续的、而随着
            堆Heap越来越满、找到内存大的越来越困难
        22:慎用异常

引用地址:http://blog.csdn.net/john_f_lau/article/details/9206253

猜你喜欢

转载自blog.csdn.net/huoyan403/article/details/77646178
今日推荐