代码优化的定义:在不改变程序运行效果的前提下,对被编译的程序进行等价变换,使之能生成更加高效的目标代码。等价的含义是使得变换后的代码运行结果与变换前代码运行结果相同。优化的含义是最终生成的目标代码短(运行时间更短、占用空间更小),时空效率优化。
代码优化的作用:避免未知的错误。在写代码的时候,从源头开始注意各种细节,权衡并使用最优的选择,将会在很大程度上避免出现未知的错误,从长远来看也能极大地降低工作量。
代码优化的目标:为了减小代码的体积,并提高代码的运行效率。
-
尽量指定类、方法的final修饰符
为类指定final修饰符,则该类不可被继承;为方法指定final修饰符,则该方法不可被重写。如果指定了一个类为final,则该类所有的方法都是final的,Java编译器会寻找机会内联所有的final方法,而内联对于提升Java运行效率的作用极大,此举能使性能平均提升50%。
-
尽量重用对象
尤其是对String对象的使用,出现字符串连接时应该使用StringBuilder/StringBuffer代替,由于Java虚拟机不仅要花时间生成对象,以后可能还需要花时间对这些对象进行垃圾回收和处理,因此,生成过多的对象将会给程序的性能带来很大的影响。
-
尽可能使用局部变量
调用方法时传递的参数以及在调用中创建的临时变量都保存在栈中,速度较快,其他变量,如静态变量、实例变量,都在堆中创建,速度较慢。另外,栈中创建的变量,随着方法的运行结束,这些内容就没了,不需要额外的垃圾回收。
-
及时关闭流