一、String 的特性。多线程
不变形:只一个对象生成之后,则不能对齐进行改变。不变形主要做用在一个对象多线程共享时,而且频发的应用时,能够省略同步和锁等待的时间,从而大幅的提升系统性能。性能
二、针对常量池的优化:当两个String对象拥有相同的值,他们只是引用常量池中的同一个拷贝。
优化
String str1="123";
ui
String str2=“123”;spa
String Str3 = new String("123");
线程
str1==str2 // true对象
str1==str3 // false
内存
str 和str1 引用了常量池中的同一个拷贝,而str3从新开辟了内存空间。字符串
三、类的final定义:同步
做为final类在系统中不可能有子类。
小结:
subString 时,会创建一个新的字符串。有可能形成内存泄露。
字符切割:
新能排行:
split 低于 StringTokenizer 低于使用indexof实现字符串的 切割。
判断字符串以什么开始时,
chatAt 高于 startWith.
字符串拼接时
采用StringBuffer 或者StringBUilder 。
StringBuffer 的全部方法都是同步。StringBuilder 的全部方法没有同步。