一.for循环性能优化
1.循环嵌套:外小内大;
for(int i=0;i<99999,i++){
for(int j=0,j<20,j++)
}
改为
for(int i=0;i<20,i++){
for(int j=0,j<99999,j++)
}
2.提取与循环无关表达式;
int c=0;
for(int j=0,j<20,j++){
c=a*b+i;
}
改为
int c=0;
int d=a*b
for(int j=0,j<20,j++){
c=d+i;
}
3.消除循环终止时判断方法
for(int j=0,j<list.size,j++){
}
改为
int c=list.size;
for(int j=0,j<c,j++){
}
4.异常捕获
int c=list.size;
for(int j=0,j<c,j++){
try{
}catch{
}
}
改为
int c=list.size;
try{
for(int j=0,j<c,j++){
}
}catch{
}
二.拼接;
不要用+号;应该采用StringBuffer或者StringBuilder.
性能对比
StringBuilder>StringBuffer>+连接符(建议用StringBuffer,线程安全的)
三.尽力使用懒加载
用到时候在初始化
if(i==0){
String str="d"
list.add(str)
}else{
}
四.乘法除非用位移符号
a*8改为a<<3
b/2改为 a>>1
五.字符串变量和字符常量equals的时候字符串常量写在前面;
Sting str="123"
if(str.equals("123")){
}
改为
if("123".equals(str)){
}
六.对资源close()建议分开;
try{
xxx.close();
zzz.close();
}catch{
}
改为
try{
xxx.close();
}catch{
}
try{
zzz.close();
}catch{
}
七.去掉类中无用的资源引用;
写项目面临这复制之前代码,有可能木个引用类用不到.我们需要把他去掉;