一直以来只知道StringBuffer是线程安全的,StringBuilder是线程不安全的,

所以通常情况下使用StringBuilder,这样可以提升效率!!!

今天由于想起StringBuilder跟StringBuffer也都是使用了建造者模式的方式进行操作的,

看了下两者的源码!发现原来最根本的区别

只在于一个地方就是synchronized关键字上!!

两者都是实现了java.io.Serializable, CharSequence的序列化接口,

然后实现了 AbstractStringBuilder的抽象方法,

本质上的区别在于

StringBuffer:StringBuilder跟StringBuffer-LMLPHP

StringBuilder:StringBuilder跟StringBuffer-LMLPHP

同时都是实现了builder的方式,所以追加方式,插入方式等等都是一样的!线程安全不安全的本质区别仅在于一个关键字上:synchronized!!

05-11 20:41