3 回答

TA貢獻(xiàn)10條經(jīng)驗(yàn) 獲得超15個(gè)贊
stringbuffer和stringbuilder一般用來和string來比較,一般情況下的string,只要發(fā)生改變,就會(huì)新生成一個(gè)對(duì)象,如果改變的多了的話,比如一些科學(xué)計(jì)算,計(jì)算次數(shù)上千萬,會(huì)很消耗內(nèi)存。這個(gè)時(shí)候你就可以用stringbuffer和stringbuilder來代替,它們?cè)诎l(fā)生改變的時(shí)候,不會(huì)像string一樣不停地新生成對(duì)象,所以可以節(jié)省內(nèi)存。
而stringbuffer和stringbuilder之間的區(qū)別在于一個(gè)是線程安全,一個(gè)是線程不安全。線程安全的,在進(jìn)行并發(fā)處理的時(shí)候,會(huì)有阻塞現(xiàn)象,而線程不安全的在遇到并發(fā)的時(shí)候就不會(huì)阻塞,所以線程安全的會(huì)比線程不安全的慢(對(duì)比情況下)。

TA貢獻(xiàn)1條經(jīng)驗(yàn) 獲得超0個(gè)贊
String是字符串常量,StringBuilder和StringBuffer是字串變量,String是每次都返回一個(gè)對(duì)象,StringBuffer中有很多同步方法線程安全,StringBuilder是線程非安全的,所以StringBuilder性能更好

TA貢獻(xiàn)46條經(jīng)驗(yàn) 獲得超18個(gè)贊
StringBuffer不快,是StringBuilder快,StringBuffer是線程安全的,StringBuilder不是線程安全的,所以StringBuilder效率快,具體場(chǎng)景具體應(yīng)用。
添加回答
舉報(bào)