String类特点:
- 一个字符串常量就是String类的匿名对象
- String类对象有两种实例化方式:
- 方式一:直接赋值,可以自动入池,只开辟一块内存空间
- 方式二:构造方法实例化,会开辟两块空间,其中一块成为垃圾,不会自动入池,可以使用intern()方法手工入池。
- 字符串内容一旦声明,不可改变。
同步异步的区别,synchronized关键字声明为同步
- 同步性能差,数据安全性高
- 异步性能高,数据安全性低
String Stringbuffer Stringbuilder的区别:
- String 和StringBuffer、StringBuilder都是CharSequence接口的自雷,其中String的内容不可以修改.
- 后面两个都停了与staring类互补的操作方法,例如append、insert reverse
- 频繁修改字符串的时候使用后面两个,速度远远高于String
- stringbuffer 在jdk1.0引入,stringbuilder在jdk1.5引入,二者方法组成基本相同
- stringbuffer为同步方法,数据安全性高,性能相对较低,stringbuilder为异步方法,数据安全性低,但速度相对高