因為最近在研究執行緒安全和相關的可變物件和不可變物件的內容。
查看了下 StringBuffer 的原始碼。
StringBuffer 的官方解釋是,一個執行緒安全可變序列的字串。StringBuffer 與 String 是一樣的,但是是執行緒安全的。你可以在任何時候會儲存一些字串。有關 StringBuffer 的長度和儲存的字串,你可以使用 StringBuffer 提供的一些方法來進行修改。
StringBuffer 提供進行修改的這些方法是執行緒安全的。
StringBuffer 為一些方法進行了必要的同步來保證執行緒的安全。
透過原始碼的檢視,你可以明顯的看到是使用 synchronized 關鍵字來透過執行緒同步來實現執行緒安全的。
StringBuilder 不是執行緒安全的,因為沒有在程式碼中使用同步。
從對程式碼的研究就可以看出來 StringBuilder 是執行緒不安全的。可以根據需要在開發中使用。
最新評論