结果相同的2段不同代码执行时间问题
一:
StringBuffer buffer = new StringBuffer();for(int i=0;i<100000;i++){ buffer.append("hello"); buffer.append("word");}StringBuffer buffer2 = new StringBuffer();for(int i=0;i<100000;i++){ buffer2.append("hello");}for(int i=0;i<100000;i++){ buffer2.append("word");}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());; }
[解决办法]
同一个程序每次的执行时间都不会一样
[解决办法]
一个是一个语句块
一个是两个语句块
两个语句块局部变量的压栈的开销要大点