一些一線互聯(lián)網(wǎng)公司在Java面試時(shí)一般都會問一些樸實(shí)無華且枯燥的問題,就比如:企業(yè)經(jīng)常問的面試題之一:StringBuffer,StringBuilder區(qū)別是什么:
1.在執(zhí)行bai速度方面的比較:StringBuilder>StringBuffer
2.StringBuffer與StringBuilder,他們是字符串變量,是可改變的對象,每當(dāng)我們用它們對字符串做操作時(shí),實(shí)dao際上是在一個(gè)對象上操作的,不像String一樣創(chuàng)建一些對象進(jìn)行操作,所以速度就快了。
3.StringBuilder:線程非安全的
StringBuffer:線程安全的
當(dāng)我們在字符串緩沖去被多個(gè)線程使用是,JVM不能保證StringBuilder的操作是安全的,雖然他的速度最快,但是可以保證StringBuffer是可以正確操作的。當(dāng)然大多數(shù)情況下就是我們是在單線程下進(jìn)行的操作,所以大多數(shù)情況下是建議用StringBuilder而不用StringBuffer的,就是速度的原因。
對于三者使用的總結(jié):1.如果要操作少量的數(shù)據(jù)用=String
2.單線程操作字符串緩沖區(qū)下操作大量數(shù)據(jù)=StringBuilder
3.多線程操作字符串緩沖區(qū)下操作大量數(shù)據(jù)=StringBuffer
以上就是長沙一度軟件培訓(xùn)java培訓(xùn)機(jī)構(gòu)的小編針對“企業(yè)經(jīng)常問的面試題之一:StringBuffer,StringBuilder區(qū)別是什么”的內(nèi)容進(jìn)行的回答,希望對大家有所幫助,如有疑問,請?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。
Java面試題