性能优化的思考

问:性能优化从哪些方面着手:

答:

a). 平台相关的方面:了解底层或者系统的原理,更合理的使用API;

b). 代码逻辑算法方面:合理的写代码,做到优化代码结构,合理设计算法,避免资源的浪费;

c). 并发方面:

    i、响应的及时性:

        ① 可以合理使用缓存,提高响应速度;

        ② 尽量不适用锁(在锁和忙等待以及是否需要等待等方面进行思考);

    ii、可伸缩性:

        ① 是否涉及到线程安全,在考虑是否使用锁;

        ② 优化锁的粒度,尽量细粒化锁(类似于 ConcurrentHashMap使用的分段锁);

        ③ 合理的使用锁(如:独占锁 和 共享锁 以及 双端队列里面的Stealing work的应用);

    iii、避免死锁:

        ① 整理代码逻辑,避免相反顺序的锁使用;(这种是死锁发生的根本原因)

        ② 在使用锁的时候,进行锁设计,并进行文档化管理;(别以为把代码中的锁写得满天飞,才可以展示自己的牛逼!!!平淡才是真.....haha~~)

你可能感兴趣的:(性能优化的思考)