zoukankan      html  css  js  c++  java
  • Java代码优化笔记

    • 指定类、方法的final修饰符

      为类指定final修饰符可以让类不可以被继承,为方法指定final修饰符可以让方法不可以被重写。如果指定了一个类为final,则该类所有的方法都是final的。Java编译器会寻找机会内联所有的final方法,内联对于提升Java运行效率作用重大

    • 尽量重用对象

      重用对象可以减少虚拟机对对象的维护而且后期减少时间回收和处理

    • 尽可能使用局部变量

      方法内的参数都保存在栈中,而类变量是保存在堆内存中,栈中方法变量随着方法结束也随之消失,而堆中还需要回收。

    • 尽量减少对变量的重复计算

       i < list.size() 尽量减少这种操作

    • 尽量使用懒加载的策略,需要时候在操作
    • 慎用异常,在循环内避免出现try catch这样的操作
    • 尽量初始化集合等等的大小。

      比如ArrayList、LinkedLlist、StringBuilder、StringBuffer、HashMap、HashSet等等

    • 乘法和除法使用移位操作

      a = val * 8; a = val << 3;

    • 不要创建一些不使用的对象,不要导入一些不使用的类
    • 使用数据库连接池和线程池
    • 顺序插入和随机访问比较多的场景使用ArrayList,元素删除和中间插入比较多的场景使用LinkedList
    • 把一个基本数据类型转为字符串,基本数据类型.toString()是最快的方式、String.valueOf(数据)次之、数据+""最慢
    • 对资源的close()建议分开操作
  • 相关阅读:
    所有蚂蚁掉下来前的最后一刻
    最长有效括号
    n的第k个因子--leetcode1492
    删掉一个元素以后全为1的最长子数组。
    public class和class的区别
    数据库中的乐观锁和悲观锁以及实现方式
    HashMap底层实现原理 扩容机制
    jvm 内存泄漏现象和处理方案
    Django模板标签语法
    Django图片的上传与下载
  • 原文地址:https://www.cnblogs.com/jsersudo/p/10771576.html
Copyright © 2011-2022 走看看