结果相同的2段不同代码执行时间有关问题
结果相同的2段不同代码执行时间问题
一:
二:
这2段代码执行的时间是一样的吗?
------解决方案--------------------
一:
- Java code
StringBuffer buffer = new StringBuffer(); for(int i=0;i<100000;i++){ buffer.append("hello"); buffer.append("word"); }
二:
- Java code
StringBuffer buffer2 = new StringBuffer(); for(int i=0;i<100000;i++){ buffer2.append("hello"); } for(int i=0;i<100000;i++){ buffer2.append("word"); }
这2段代码执行的时间是一样的吗?
------解决方案--------------------
- Java code
package com.walkman.forum.july.weektwo; public class ComputeRunTime { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub System.out.println(System.currentTimeMillis());; StringBuffer buffer = new StringBuffer(); for(int i=0;i<100000;i++){ buffer.append("hello"); buffer.append("word"); } System.out.println(System.currentTimeMillis());; System.out.println(System.currentTimeMillis());; StringBuffer buffer2 = new StringBuffer(); for(int i=0;i<100000;i++){ buffer2.append("hello"); } for(int i=0;i<100000;i++){ buffer2.append("word"); } System.out.println(System.currentTimeMillis());; }
------解决方案--------------------
同一个程序每次的执行时间都不会一样
------解决方案--------------------
一个是一个语句块
一个是两个语句块
两个语句块局部变量的压栈的开销要大点