性能调优的层次
为了提升系统性能开发人员可以从系统的各个角度和层次对系统进行优化除了最常见的代码优化外在软件架构上JVM虚拟机层数据库以及操作系统层面都可以通过各种手段进行调优从而在整体上提升系统的性能
设计调优
设计调优处于所有调优手段的上层它往往需要在软件开发之前进行在软件开发之初软件架构师就应该评估系统可能存在的各种潜在问题并给出合理的设计方案由于软件设计和架构对软件整体质量有决定性的影响所以设计调优对系统性能的影响也是最大的如果说代码优化JVM优化都是对系统微观层面上量的优化那么设计优化就是对系统在宏观层面上质的优化
设计优化的一大显着特点是它可以规避某一个组件的性能问题而非改良该组件的实现比如系统中组件A需要等待某事件E才能触发一个行为如果组件A通过循环监控不断监测事件E是否发生其监测行为必然会占用部分系统资源因此开发人员必须在监测频率和资源消耗间取得平衡如果监测频率太低虽然减少了资源消耗但是系统实时反应性就会降低如果进行代码层的调优就需要优化监测方法的实现以及求得一个最为恰当的监测频率
而若将此问题预留在设计层解决便可以使用事件通知的方式将系统行为进行倒置如使用第章中提到的观察者模式在事件E发生的时刻由事件E通知组件A从而触发组件A的行为这种设计方法弃用了存在性能隐患的循环监控从根本上解决了这一问题
从某种程度上说设计优化直接决定了系统的整体品质如果在设计层考虑不周留下太多问题隐患那么这些质上的问题也许无法再通过代码层的优化进行弥补因此开发人员必须在软件设计之初认真仔细考虑软件系统的性能问题
进行设计优化时设计人员必须熟悉常用的软件设计方法设计模式基本性能组件和常用优化思想并将其有机地集成在软件系统中
注意一个良好的系统设计可以规避很多潜在的性能问题因此尽可能多花些时间在系统设计上是创建高性能程序的关键
返回目录Java程序性能优化让你的Java程序更快更稳定
编辑推荐
Visual C++音频/视频技术开发与实战
Oracle索引技术
ORACLEG数据库开发优化指南