StringBuffer 字符串變量(線程安全 在多線程的狀況能夠保證線程的安全運行)
StringBuilder 字符串變量(非線程安全 運行更加迅速)
/*對待線程安全問題,我們可以把一個字符串的改變看成兩部來實現,首先就是字符串的索引位置存放元素
* 然后繼續增大Size的值 在單線程的情況下如果size等於0那么添加一個元素的步驟就是將元素放在位置0,然后size=1
* 在單線程中這樣做是沒有任何問題的
* 但是:多線程的話 -> 線程a將元素放在位置0 但是此時的線程B也在搶奪CPU 假設搶奪成功 那么這個時候a線程的size還沒有運行到增加的那一步
* 同事,b線程在位置0又放入一個元素,這就回將a線程放入的元素覆蓋掉
* 所以:我們來看看實際的情況就是兩個元素都是放在位置0但是實際元素只有一個,size卻等於2 這就造成了線程不安全的問題*/
參閱了下文作者的分析