一、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 的全部方法沒有同步。