一、开发优化:
1、尽量做到不要在循环中去访问数据库中的东西或者向数据库中添加数据;循环中尽量做到处理逻辑的单一性或简洁性,最大限度的提高系统的性能;
2、尽量减少循环中或者循环体中不必要的循环计算或者不相关的计算以及操作,例如:
for(int i=0;i<list.size();i++){...}改为int size=list.size();for(int i=0;i<size;i++)
for(int i=0;i<size;i++){ int num=a+b;...}改为int num=a+b;for(int i=0;i<size;i++){...}
3、嵌套循环,如果可以的话,最好将大循环放内部,小循环放外部。
for(int i=0;i<10;i++){
for(int j=0;j<100;j++){
......
}
}
4、循环体内最好不要创建对象。例如:
for(int i=0;i<size;i++){ Person p = new Person(); },这样会在内存存在size份对应的Person对象,改为:
Person p=null; for(int i=0;i<size;i++){ p=new Person();}这样在内存中就只存在一份Person对象,因此没次创建的对象都是赋给循环外所声明的这个对象变量,让该变量指向新创建对象的地址。
5、避免在循环里面进行文件读写操作。
6、不要将try{...}catch{...}finally{...}放到循环里面,这样会极大的影响性能。将影响达20%多的性能。将try{...}catch{...}语句提取到循环的外部,将循环放到try{...}语句块中去。
7、不要在循环中调用同步方法或者使用synchronized关键字。如有必要,将同步块提取到循环外部。
8、try{}catch{}finally{}的逻辑也尽量做到简洁,不要过于臃肿;
9、方法内部中的MaxComplexity不要超过10;即if语句不要超过10个,如果超过10个了最好是提成一个新的方法;
10、使用arraycopy()复制数组要比通过循环来复制数组快的多。