? 最近在做java性能优化的总结,给部门同学分享,在网上看到帖子说到x=x+1,x+=1,x++效率比较,分析了
三种方式的效率,觉得似乎有些道理,一般的结论如下:
?
import java.util.ArrayList;
/**
*
* <P>Tiltle: TestXPlus.java </P>
* <P>Description: 测试i=i+1,i+=1,i++的效率 </P>
* @author biyutong
* @date Mar 10, 2012 8:09:52 PM
* @version:V1.0
*/
public class TestXPlus {
/**
* <P>Title: main </P>
* <P>Description:测试i=i+1,i+=1,i++的效率 </P>
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
long s1 = System.currentTimeMillis();
Runtime.getRuntime().gc();
long startMem1 = Runtime.getRuntime().freeMemory();
System.out.println("开始内存剩余量"+startMem1);
int x=0;
for(int i=0;i<2000000000;i++){
//测试1
x=x+1;
//测试2
//x+=1;
//测试3
//x++;
}
long s2 = System.currentTimeMillis();
long startMem2 = Runtime.getRuntime().freeMemory();
System.out.println("用时: "+(s2-s1)+"毫秒");
System.out.println("结束时剩余内存: "+startMem2);
System.out.println("内存使用量: "+(startMem1-startMem2));
ArrayList<String> test = new ArrayList<String>();
}
}
?三个测试结果为:
?写道
//测试1?
?