<<代码大全>> 25.6 代码调整方法总结:
1 用设计良好的代码来开如软件,从而使程序易于理解和修改
2 如果程序性能很差:
a 保存代码的可运行版本,这样你才能回到“最近的已知正常状态”
b 对系统进行分析测量,找出热点
c 判断性能拙劣是否源于设计、数据类型或算法上的缺陷,确定是否应该做代码调整,如果不是,请跳回到第一步
d 对步骤c中所确定的瓶颈代码进行调整
e 每次调整后都对性能提升进行测量
f 如果调整没有改进代码的性能,就恢复到步骤a保存的代码(通常而言,超过一半的调整尝试都只能稍微改善性能甚至造成性能恶化)
3 重复步骤 2
25.4 中强调对代码性能的测量. 通过示例指出性能测量的重要性.
如何测量代码性能?
网上搜了下有 jvisualvm 这一类的.但是如果需要知方法里具体步骤对代码的消耗可以用
System.currentTimeMillis();
对比执行前后时间差判断.参考 (里面有关于内存消耗的,个人认为不实用,实际使用中误差很大,而且里面关于AOP的部分,我认为在多数情况下并不适合)
最后:
性能只是软件整体质量的一个方面,通常不是最重要的,精细的代码调整也只是实现整体性能的一种方法,通常也不是决定性的。相对于代码本身的效率而言,程序的架构、细节设计以及数据结构和算法选择对程序的运行速度和资源占用的影响通常会更大
定量测试是实现性能最优化的关键。定量测试需要找出能真正决定程序性能的部分,在修改之后,应当通过重复测量来明确修改是提高还是降低了软件的性能
绝大多数的程序都有那么一小部分代码耗费了绝大部分的运行时间,如果没有测量,你不会知道是哪一部分时间
代码调整需要反复尝试,这样才能获得理想的性能提高
为性能优化工作做好准备的最佳方式就是在最初阶段编写清晰的代码,从而使代码在后续工作中易于理解和修改