读书人

结果相同的2段不同代码执行时间有关问

发布时间: 2012-03-13 11:21:12 作者: rapoo

结果相同的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());;    }
[解决办法]
同一个程序每次的执行时间都不会一样
[解决办法]
一个是一个语句块

一个是两个语句块

两个语句块局部变量的压栈的开销要大点

读书人网 >J2SE开发

热点推荐