String、StringBuffer拼接时的时间及空间耗费的简单测试

来源:互联网 发布:无锡行知科技专修学院 编辑:程序博客网 时间:2024/06/05 23:15
简单一个例子,结果在底部,简单测试String、StringBuffer拼接时的时间及空间耗费情况package 字符串;import java.util.Date;public class StringAndStringBuffer {public static void main(String[] args) { Date d = new Date();          String s = "str";         String cs = s;        long r = Runtime.getRuntime().freeMemory();          StringBuffer sb = new StringBuffer("str");          for (int i = 0; i < 10000; i++) {              s += cs;          }          System.out.println("String Memory used: "                  + ((r - Runtime.getRuntime().freeMemory()) / 1000) + "K");          System.out.println("String Time Used : "                  + (new Date().getTime() - d.getTime()) + " ms");  //        System.gc();         //-----------------        r = Runtime.getRuntime().freeMemory();          d = new Date();          for (int i = 0; i < 10000; i++) {              sb.append(i);          }          System.out.println("StringBuffer Memory used: "                  + ((r - Runtime.getRuntime().freeMemory()) / 1000) + "K");          System.out.println("StringBuffer Time Used : "                  + (new Date().getTime() - d.getTime()) + " ms");//        System.gc();         //-----------------        r = Runtime.getRuntime().freeMemory();          d = new Date();         s = "str";        sb = new StringBuffer("str");        for (int i = 0; i < 10000; i++) {              s = s + sb.toString();             s += sb;        }          System.out.println("String拼接StringBuffer Memory used: "                  + ((r - Runtime.getRuntime().freeMemory()) / 1000) + "K");          System.out.println("String拼接StringBuffer Time Used : "                  + (new Date().getTime() - d.getTime()) + " ms");        }}

结果1:

String Memory used: -123471K
String Time Used : 229 ms
StringBuffer Memory used: 0K
StringBuffer Time Used : 3 ms
String拼接StringBuffer Memory used: 133458K
String拼接StringBuffer Time Used : 733 ms

结果2:

String Memory used: -123512K
String Time Used : 189 ms
StringBuffer Memory used: 0K
StringBuffer Time Used : 3 ms
String拼接StringBuffer Memory used: 133187K
String拼接StringBuffer Time Used : 600 ms

结果3:

String Memory used: -123504K
String Time Used : 184 ms
StringBuffer Memory used: 0K
StringBuffer Time Used : 3 ms
String拼接StringBuffer Memory used: 133187K
String拼接StringBuffer Time Used : 615 ms

阅读全文
0 0
原创粉丝点击