三分鐘瞭解Java併發編程之StringBuffer與StringBuilder

編程語言 Java 科技 進擊的程序猿 進擊的程序猿 2017-09-03

在編寫JAVA代碼的過程中有時要頻繁的對字符串進行拼接,如果直接用“+”拼接的話會建立很多的String型對象,嚴重的話會對服務器資源和性能造成不小的影響;而使用StringBuilder和StringBuffer能解決以上問題。而StringBuffer是線程安全的,而StringBuilder不是線程安全的。

來看一下StringBuffer的一些源碼:

三分鐘瞭解Java併發編程之StringBuffer與StringBuilder

而StringBuilder的源碼一部分如下:

三分鐘瞭解Java併發編程之StringBuffer與StringBuilder

而與之對應的StringBuilder是線程不安全的,也就是沒有加synchronized鎖。所以不難看出我們在高併發的情況下,入股不要考慮數據安全問題的情況下,精良使用StringBuilder,由於沒有資源等待的情況,肯定執行效率和性能會高很多。所以是使用StringBuffer還是使用StringBuilder要視情況而定。

相關推薦

推薦中...