- 指定类、方法的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()
建议分开操作