之前仔细看了AbstractStringBuilder的源码,以此为前提
AbstractStringBuilder的源码分析(自己懒得写):
这大哥写得好 ---->> https://www.cnblogs.com/noteless/p/9829659.html
StringBuffer与StringBuilder相同点:
1.都是可变字符串,继承了AbstractStringBuilder类,封装了StringBuilder和StringBuffer大部分操作的实现
2.实现了Serializable接口和CharSequence接口,Serializable是可以序列化的标志,
CharSequence接口包含了charAt()、length() 、subSequence()、toString()这几个方法,String类也实现了这个接口。
3.默认初始大小都是16,扩容方式都是2倍+2,最大容量都是Integer.MAX_VALUE(0x7fffffff=2147483647)
StringBuffer与StringBuilder不同点:
1.StringBuffer的方法由synchronized修饰是线程安全的,而StringBuilder是非线程安全的