朋友們有沒有發(fā)現(xiàn)一個(gè)問題皂冰,看了網(wǎng)上的這么多文章,如果自己不去動(dòng)手去寫一寫养篓,去真正的總結(jié)灼擂,那么用不了多久,就忘掉了這些知識(shí)點(diǎn)觉至,本人實(shí)在是一個(gè)笨鳥,所以想去自己記錄一番睡腿,真正的去學(xué)習(xí)些知識(shí)语御,哈哈!
話不多說席怪,今天就讓我們一起學(xué)習(xí)一些应闯,常用的基礎(chǔ)知識(shí)吧!
一挂捻、String
String作為字符串常量碉纺,相信大家都不陌生,相比較StringBuffer和StringBuilder而言刻撒,它是不可變對(duì)象骨田,因?yàn)镾tring類使用的是字符數(shù)組保存字符串,如:private final char value[ ]声怔,因?yàn)橛辛薴inal進(jìn)行了修飾态贤,所以String對(duì)象是不可變的。
對(duì)于線程安全而言醋火,String作為字符串常量悠汽,String對(duì)象是不可變的,顯然它線程是安全的芥驳。
二柿冲、StringBuffer
StringBuffer繼承自AbstractStringBuilder類,而這個(gè)類是為了解決大量的拼接字符串時(shí)產(chǎn)生很多中間對(duì)象問題兆旬,它的本質(zhì)是一個(gè)線程安全的可變的字符序列假抄,底層是可修改的char value[ ],它對(duì)調(diào)用的方法加入了synchronized,進(jìn)行了同步慨亲,保證了線程安全的前提下婚瓜,耗費(fèi)了一些性能上的代價(jià)。
三刑棵、StringBuilder
StringBuilder同樣繼承自AbstractStringBuilder類巴刻,它和StringBuffer本質(zhì)上沒有什么太大的區(qū)別,區(qū)別就在于蛉签,它放棄了線程安全的部分胡陪,放棄了同步鎖,減少了對(duì)性能的開銷碍舍。
對(duì)于效率使用方面柠座,個(gè)人才疏學(xué)淺,只能總結(jié)出大部分情況下片橡,StringBuilder>StringBuffer>String
雖然寫的不多妈经,但是這些都是笨鳥本人的一些理解,希望各位技術(shù)大佬和一同學(xué)習(xí)的朋友們捧书,多多指導(dǎo)吹泡,畢竟是本人的第一篇技術(shù)總結(jié)分享!感謝经瓷,感謝爆哑!