JavaSE进阶

10.3.3 效率测试

package com.api.string;

public class TestStringBuilder {

public static void main(String[] args) {

testStringBuilder();

testStringBuffer();

testString();

}

public static void testString(){

long start = System.currentTimeMillis();

String s = new String("0");

for(int i=1;i<=10000;i++){

s += i;

}

System.out.println(s);

long end = System.currentTimeMillis();

System.out.println("String拼接+用时:"+(end-start));

long memory = Runtime.getRuntime().totalMemory() - Runtime.getRuntime().freeMemory();

        System.out.println("String拼接+memory: " + memory);

}

public static void testStringBuilder(){

long start = System.currentTimeMillis();

StringBuilder s = new StringBuilder("0");

for(int i=1;i<=10000;i++){

s.append(i);

}

System.out.println(s);

long end = System.currentTimeMillis();

System.out.println("StringBuilder拼接+用时:"+(end-start));

long memory = Runtime.getRuntime().totalMemory() - Runtime.getRuntime().freeMemory();

        System.out.println("StringBuilder拼接+memory: " + memory);

}

public static void testStringBuffer(){

long start = System.currentTimeMillis();

StringBuffer s = new StringBuffer("0");

for(int i=1;i<=10000;i++){

s.append(i);

}

System.out.println(s);

long end = System.currentTimeMillis();

System.out.println("StringBuffer拼接+用时:"+(end-start));

long memory = Runtime.getRuntime().totalMemory() - Runtime.getRuntime().freeMemory();

        System.out.println("StringBuffer拼接+memory: " + memory);

}

}