StringBuilder跟StringBuffer

一直以来只知道StringBuffer是线程安全的,StringBuilder是线程不安全的,
所以通常情况下使用StringBuilder,这样可以提升效率!!!
今天由于想起StringBuilder跟StringBuffer也都是使用了建造者模式的方式进行操作的,

看了下两者的源码!发现原来最根本的区别
只在于一个地方就是synchronized关键字上!!
两者都是实现了java.io.Serializable, CharSequence的序列化接口,
然后实现了 AbstractStringBuilder的抽象方法,
本质上的区别在于
StringBuffer:

StringBuilder:

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

posted @ 2017-01-09 17:14  kevinfuture  阅读(165)  评论(0编辑  收藏  举报