通常我在做项目代码复审的时候,经常看到一些代码写法问题,通常在开发测试中测不出问题来的,现特写篇文章总结一下。
1,数据类初始化包装类的大量使用//存储在堆上的定义Integer i = 817598;如果这样写的话:int i = 817598;// 存储在栈上如果这样写会更糟//在堆上生成了三个对象 Integer[] i = { 1337, 424242 };如果这样写的话:// 仅在堆上生成了一个对象int[] i = { 1337, 424242 };在堆上建很多对象这样做的坏处是给GC带来了很大的压力。GC将会为清除包装类生成的对象而忙得不可开交。所以一个有效的优化方法是使用基本数据类型、定长数组,并用一系列分割变量来标识对象在数组中所处的位置
2,数据类判断的时候用包装类判断//Integer i=130;Integer j=130;看似i=j,其中在代码执行过程中i!=j的,如果要相等仅在i<127下二个包装数据类才会相等。
3,数据类为百万级的数据集合时,判断集合是否有数据一般有size方法的值是否大于0通常会卡很久才出来用list.empty()方法就不会卡
4,数据类型计算过程中使用遍历时,通常会出现异常,处理运行时异常在循环体内和循环体外是二种完全不同的效果
5,数据使用过程中使用迭代器,for(String s:str){}这种写法会在堆上创建无数个对象
6,数据在使用过程中使用强制转换,这也是高开销的搞法不建议,而且在高并发内存释放不及时数据会紊乱破坏数据的稳定性
7,数据处理的代码在分布式开发中不跨JVM
8,数据类型定义不合理,其实在写代码过程中不写注释也完全是可以的但命名一定要用业务名取变量及方法。
先写到这儿