public class testStringBulder3 {
public static void main(String[] args) {
//使用Stringi进行字符串的拼接
String str8="";
//本质上使用String Builder进行拼接,但是每次循环都会产生一个String Builder对象
long num1=Runtime.getRuntime().freeMemory();//获取系统剩余内存
long time1=System.currentTimeMillis();//获取系统的当前时间
for(int i=0;i<5000;i++){
str8=str8+i;//相当产生了10000个对象
}
long num2=Runtime.getRuntime().freeMemory();//获取系统剩余内存
long time2=System.currentTimeMillis();//获取系统的当前时间
System.out.println(num2-num1);
System.out.println(time2-time1);
//使用String Builder进行字符串拼接
StringBuilder sb=new StringBuilder();
long num3=Runtime.getRuntime().freeMemory();//获取系统剩余内存
long time3=System.currentTimeMillis();
for(int i=0;i<5000;i++){
sb.append(i);
}
long num4=Runtime.getRuntime().freeMemory();//获取系统剩余内存
long time4=System.currentTimeMillis();
System.out.println(num3-num4);
System.out.println(time4-time3);
}
}
运行结果:
5538408
104
0
1