/**
* 字符串相加操作
* 1.多个常量相加没有性能问题,在编译优化
* 2.变量与常量相加,会产生多个垃圾对象
* @author Zhanglinfeng
*javap -c StringBuliderDemo //汇编
*/
public class StringBuliderDemo {
public static void mian(String[] args) {
/**面试题:StringBuffer与StringBuilder的区别?
* StringBuffer是线程安全的,性能低,适合在多线程的使用
* StringBuilder是线程不安全的,性能高,适合在单线程中使用,
* 这种情况占大多数,在jdk1.5后添加
*/
StringBuilder sb=new StringBuilder();
String a="a"+1;
String b=a+"b";
String c=null;
for(int i=0;i<5;i++){
c+=i;//每次循环会产一个StringBuilder对象实现拼接,性能低,最好是手动创建StringBuilder
}
//1.字符串相加,在编译后,会使用StringBuilder来优化代码,实现拼接
}
}
如何在cmd里查看虚拟机的运行
使用javap -c xxx