我現在知道,StringBuffer比String物件有效率,請問 什麼情況下需要使用String物件呢

時間 2022-05-15 13:55:02

1樓:主宰比賽

buffer是同步的。buffer的所有方法都是呼叫執行緒鎖的,因此效率差了那麼一點

stringbuilder物件和string物件相比有什麼優點

2樓:匿名使用者

你看api就知道

string主要用於公共api,通用性好、用途廣泛、讀取效能高、佔用記憶體小。

stringbuilder主要用於拼接string,修改效能好。

不過現在的編譯器已經把 string 的 + 操作優化成 stringbuilder 了,所以一般用string就可以了

string是不可變的,所以天然執行緒同步。

stringbuilder可變,非執行緒同步。

3樓:匿名使用者

string類,檢視jdk原始碼可知,內部使用final 修飾的char型別陣列,故string是不可變的.而stringbuilder是可變的並且執行緒是安全的.另外還有一個輕量級的stringbuilder,即stringbuffer.

stringbuffer也是可變的,但與stringbuilder不同的是它是非執行緒安全的.

4樓:匿名使用者

我的理解是string是固定大小的,當想要改變時只能再new一次,這樣每new一次都會佔用記憶體空間,而stringbuffer和stringbuilder就解決了這個問題,可以改變字串

5樓:

stringbuilder是可以擴充的,相對來說能用stringbuilder就用stringbuilder

j**a中的stringbulid和stringbuffer用法,stringbuffer是執行緒安全的,什麼情況下必須用stringbuffer?

6樓:藍星人搶不到

stringbuffer執行緒安全的意思是,多執行緒操作stringbuffer時是原子操作,當一個執行緒對其進行操作時,另一個執行緒無法操作,舉個具體的例子,多個執行緒都對stringbuild進行如下操作,獲取最後一個元素並刪除,當前執行緒獲取到一個元素後時間片被分給了下一個執行緒,這樣另一個執行緒可能取到前一個執行緒未來得及刪除的同一個元素。不知道這樣說明白嗎。一般情況下如果有多個執行緒同時執行寫操作,就需要考慮執行緒同步

7樓:匿名使用者

你好既然你知道執行緒是否同步是他們的區別

執行緒同步的話需要判斷物件鎖,所以效率會低。

一般建議使用stringbuilder,因為他效率高必須實現同步的時候可以自己實現同步。

string,stringbuffer和stringbuilder之間的區別

8樓:檬懵檬

1、三者在執行速度方面的比較:stringbuilder >stringbuffer  >  string

string:字串常量

stringbuffer:字串變數

stringbuilder:字串變數

從上面的名字可以看到,string是「字元創常量」,也就是不可改變的物件。

2、stringbuffer/stringbuilder是生產這個商品的流水線,stringbuffer速度慢,但(執行緒)安全性高,stringbuilder速度快,但(執行緒)安全性差。

3、  string 類是final,引用記憶體中的值不可變。引用資料量一大就不效率,stringbuffer 是用於頻繁修改的,而且是執行緒安全,stringbuilder 是執行緒不安全。如果只是用來宣告一個變數的話就用string,如果用於字串之間的頻繁操作的話就用stringbuffer。

4、如果少量的字串操作採用string,如果單執行緒下操作大量字串採用stringbuilder ,如果多執行緒下操作大量字串採用stringbuffer 。

5、stringbuffer、stringbuilder和string一樣,也用來代表字串。string類是不可變類,任何對string的改變都會引發新的string物件的生成;stringbuffer則是可變類,任何對它所指代的字串的改變都不會產生新的物件。

6、stringbuffer和stringbuilder類的區別也是如此,他們的原理和操作基本相同,區別在於stringbufferd支援併發操作,線性安全的,適合多執行緒中使用。stringbuilder不支援併發操作,線性不安全的,不適合多執行緒中使用。新引入的stringbuilder類不是執行緒安全的,但其在單執行緒中的效能比stringbuffer高。

我想知道現在做什麼生意最賺錢,我想知道現在做什麼生意最賺錢?

現在傳統的生意已經不好做了,市場太飽和,競爭也大,你可以做些新奇特的產品,有市場需求的,你可以在衣食住行裡面去尋找,去參加一些創業會,也可以看到不少好產品的,前幾天到建材市場看到的一個模具在牆壁上繪畫的東西,那個還不錯,名字叫築 夢 牆 藝,那個能讓不會畫畫的普通人也在牆上做出非常漂亮的又有質感的牆...

我現在很想要我怎麼讓我男朋友知道我們現在沒見面等見面了怎麼和他說

曾經只不過是曾經而已,並不能決定未來的事情,未來還有很多的不確定性,你要為這些不確定的東西提前做準備提前給自己打預防針,這才能夠減少分手的可能,人活在這世上要向前看而不能向後看,如果一直活在回憶裡的話,那麼就只能沉浸在痛苦中了,曾經只不過是已經過去了的東西,不值得一提,未來發生的事情才能決定你們是否...

我現在非常痛苦!我現在不知道應該怎麼辦了!我愛上了不該愛的人,我愛了他八年卻不能在一起生活,然

彌夢淚 最愛的那個不一定要在一起,也許當你在一起的時候就會感覺跟你要的不一樣了!最愛的那個只適合用來留在心中,當一個念想!因為愛人是一件很辛苦的事,唯有被愛才是幸福!我選擇了愛人,所以活在傷痛之中!希望你能永遠幸福 madman 楊佳 人的一生有多短暫。可能一不小心你就不會存在在這個世界了。人都在說...