? 最近在做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
?
?