代码优化的目标是
减小代码的体积
提高代码运行的效率
代码优化细节
尽量重用对象
特别是String对象的使用,出现字符串连接时应该使用StringBuilder/StringBuffer代替。由于Java虚拟机不仅要花时间生成对象,以后可能还需要花时间对这些对象进行垃圾回收和处理,因此,生成过多的对象将会给程序的性能带来很大的影响。
尽可能使用局部变量
参数在栈中创建,比堆中快,不需要额外的垃圾回收
尽量减少对变量的重复计算
for (int i = 0; i < list.size; i++){…}
建议替换为:
for (int i = 0, int length = list.size; i < length; i++){…}
尽量采用懒加载的策略,即在需要的时候才创建
约定返回值,不允许返回null
减少空指针异常
- 返回单个对象
如果返回值可能为空则使用Optional<> - 返回集合类型,Map类
创建一个空对象返回e.g. return newArrayList<>();
如果能估计到待添加的内容长度,为底层以数组方式实现的集合、工具类指定初始长度
比如ArrayList、LinkedLlist、StringBuilder、StringBuffer、HashMap、HashSet等等,以StringBuilder为例:
(1)StringBuilder// 默认分