1.1.6、分支判断if…else的时候,最常符合的条件处理放在前面。
1.1.7、对象比较的时候常量放前面,养成好习惯,减少空指针的出现。
1.1.8、减少synchronized中等待处理的代码,能放在外面就尽量放在外面。
1.1.9、下面到数据库了,我觉得还是在这里说了好点,一般查询比较慢,很有可能是没有建索引或者索引没用到,多去检查一下。
1.1.10、两个大表的关联查询,可以使用二次访问数据库替代,先查出A表的数据,利用关联字段再查B表的。不要一味想着一条sql搞定最好。
1.1.11、坚决避免,查全表数据或者数量大的数据,返回list加载到内存中,一不小心查了100w数据,又查得比较频繁,内存的爆了。有这种风险的改成分页查询。
1.1.12、不要select *,按需取列。
1.1.13、多考虑避免事务里面有长连接或者长事务,如果大量这种情况出现占用数据连接,会影响性能。一些无必要的逻辑可以放到事务外执行。
1.1.14、对字段的加减乘除处理放到sql,严格避免先get处理,然后运算在set到数据库里面,并发情况非常容易导致失真。
1.1.15、方法里面代码不要太长,注意封装,命名语义化,代码整洁。常挂嘴边的,没放心上,一如既往的给自己埋坑,举个博主的例子,那会刚毕业也是没放心上,最近把我们组长不写代码,一到代码评审我就害怕,检视到有问题的代码,毕业生吧就说这代码以前就是这样写的,问题最终肯定都落我身上,现在感觉代码是自己的孩子,只能有空自己偷偷的优化一下,怕出问题还得非常仔细。
(2)SQL规范与性能优化
1.2.1、先提前声明,博主工作用到是MySQL,可能有些场景只针对MySQL。说到SQL优化,一些概念必须要理解,不然死记硬背一两天就忘记了。特别是执行计划的概念。