StringBuffer源码学习
一、什么是StringBuffer?
java中对字符串操作主要有三种方式,String,StringBuffer和StringBuilder。是一种可变字符串。下面这张表说明了他们的主要区别。
这里主要学习StringBuffer,并探究StringBuffer的源码来说说自己对可变性,工作原理和线程安全性的理解。
二.StringBuffer属性和构造方法
1.属性:
StringBuffer的属性主要只有一条(毕竟我们不需要关注序列化标识这种属性):
它的注释翻译过来就是:
最显眼的当然就是transient关键字;transient只能修饰属性,不能修饰类和方法,被修饰的属性不能被序列化,它的生命周期只在内存中,无法被写入硬盘。之所以说它是"缓存",是因为在StringBuffer被