一。String源码分析
二。Stringbuffer,Stringbuilder比较区别
一、源码分析:final修饰的char数组,不被改变。主要抓住这个特性,基本的方法和使用都太多文章了就不说了。
二、Stringbuffer,Stringbuilder
1.Stringbuffer:源码中使用了一个反序列化的数组toStringCache,这个是为了提高性能,因为Stringbuffer是安全的(方法都加了锁),所以为了提高性能,使用了缓存机制。
2.区别:
String:适用于少量的字符串操作的情况
StringBuilder:适用于单线程下在字符缓冲区进行大量操作的情况
StringBuffer:适用多线程下在字符缓冲区进行大量操作的情况
另:在使用“+”和append方法时,其实String中的‘+’等同于new Stringbuilder().append,所以开发中知道需求的情况下,尽量控制好使用何种类型使用。
分享一个较为详细的string分析:
作者名:SnailMann https://blog.csdn.net/SnailMann/article/details/80882719