编译还是解释
排除编码业务逻辑和特定平台因素影响, 编译后程序运行效率应当是高于解释型语言的。
预先决策还是临时决策
在面向对象编程中,如果某项决策对多个业务操作都有影响,那么该决策应当在业务服务bean初始化时就已经确定下来,而不是等到处理业务请求时临时路由到具体处理分支。也就是说,在一次业务处理中,对于一个决策项目应当仅有一次决策过程,多次做相同决策不是明智的做法。
是否使用缓存
适当使用缓存,在查询极少变动的数据时有极大地性能提升效果。
直接还是间接
对于同一业务取值,在不同的处理阶段或处理系统下可能有不同的字符表示。这种做映射转换从而达到适配作用的程序比比皆是。映射转换一般有基于规则和基于参数表两种方式。如果在A->B->C的映射过程中,我们不关心B状态,应当尽可能重新定制一个A->C的直接映射规则,毕竟直接比间接更快。
遍历还是HASH
在数据查询中,如果数据量非常大时,通过HASH算法直接定位元素或缩小遍历范围,显然比单纯遍历更快。也就是说,使用map代替list来做数据查询。
重用中间分析结果
虽然这里也有使用缓存,但关注点在于在不同业务请求过程中,可能会有相同的阶段业务处理结果,这个业务处理结果可以相互借用,避免重复分析。
单机还是分布式
众人拾柴火焰高,人多力量大,三个臭皮将顶个诸葛亮,团结就是力量....