应要求在这里写写Stringbuffer和Stringbuilder的区别,本人学习的时间不长,希望指点,那么开始把:
Stringbuffer:
可改变的Unicode字符序列。允许并发操作,是线程安全的,String类在进行字符串连接时会显得效率很低,就是因为它所产生的对象的属性是不能更改的,当连接字符串时也就只能创建新的对象,对于很多字符串连接时,应当使用Stringbuffer类,使用这个类的对象来进行字符串连接时就不会有多余的中间对象产生,从而优化了效率。
例:String str="A"+"B"+"C"+"D"; 产生:"AB" 、"ABC"、 "ABCD" 产生AB、ABC明显是多余对象,浪费空间。然而用Stringbuff追加就不会产生这种现象。
Stringbuilder:
可改变的Unicode字符序列。操作同Stringbuffer只是不支持并发操作,非线程安全。Stringbuff和Stringbuilder的区别:Stringbuilder支持所有相同的操作,但是它不执行同步,所以速度更快,对于大量数据时Stringbuilder速度快于Stringbuffer;
当我们在字符串缓冲去被多个线程使用时,JVM不能保证Stringbuilder的操作是安全的,虽然它速度快,但是可以保证Stringbuffer是可以正确操作的。大体就是这样的。