如何编写出最有运行效率的程序

编译还是解释

    排除编码业务逻辑和特定平台因素影响, 编译后程序运行效率应当是高于解释型语言的。

预先决策还是临时决策

    在面向对象编程中,如果某项决策对多个业务操作都有影响,那么该决策应当在业务服务bean初始化时就已经确定下来,而不是等到处理业务请求时临时路由到具体处理分支。也就是说,在一次业务处理中,对于一个决策项目应当仅有一次决策过程,多次做相同决策不是明智的做法。

是否使用缓存

    适当使用缓存,在查询极少变动的数据时有极大地性能提升效果。

直接还是间接

    对于同一业务取值,在不同的处理阶段或处理系统下可能有不同的字符表示。这种做映射转换从而达到适配作用的程序比比皆是。映射转换一般有基于规则和基于参数表两种方式。如果在A->B->C的映射过程中,我们不关心B状态,应当尽可能重新定制一个A->C的直接映射规则,毕竟直接比间接更快。

遍历还是HASH

    在数据查询中,如果数据量非常大时,通过HASH算法直接定位元素或缩小遍历范围,显然比单纯遍历更快。也就是说,使用map代替list来做数据查询。

重用中间分析结果

        虽然这里也有使用缓存,但关注点在于在不同业务请求过程中,可能会有相同的阶段业务处理结果,这个业务处理结果可以相互借用,避免重复分析。

单机还是分布式

        众人拾柴火焰高,人多力量大,三个臭皮将顶个诸葛亮,团结就是力量....


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值