stringbuffer與stringbuilder的區別

2022-06-24 09:16:38 字數 3523 閱讀 3018

1樓:聚成都

二者的區別主要是在執行速度和執行緒安全這兩方面。

1、stringbuffer 與 stringbuilder 中的方法和功能完全是等價的

2、只是stringbuffer 中的方法大都採用了 synchronized 關鍵字進行修飾,因此是執行緒安全的,而 stringbuilder 沒有這個修飾,可以被認為是執行緒不安全的。

3、在單執行緒程式下,stringbuilder效率更快,因為它不需要加鎖,不具備多執行緒安全而stringbuffer則每次都需要判斷鎖,效率相對更低。

2樓:匿名使用者

1. 在執行速度方面的比較:stringbuilder > stringbuffer

2. stringbuffer與stringbuilder,他們是字串變數,是可改變的物件,每當我們用它們對字串做操作時,實際上是在一個物件上操作的,不像string一樣建立一些物件進行操作,所以速度就快了。

3. stringbuilder:執行緒非安全的

stringbuffer:執行緒安全的

當我們在字串緩衝去被多個執行緒使用是,jvm不能保證stringbuilder的操作是安全的,雖然他的速度最快,但是可以保證stringbuffer是可以正確操作的。當然大多數情況下就是我們是在單執行緒下進行的操作,所以大多數情況下是建議用stringbuilder而不用stringbuffer的,就是速度的原因。

對於三者使用的總結:1.如果要操作少量的資料用 = string

2.單執行緒操作字串緩衝區 下操作大量資料 = stringbuilder

3.多執行緒操作字串緩衝區 下操作大量資料 = stringbuffer

「string、stringbuffer和stringbuilder」之間的區別是什麼?

3樓:檬懵檬

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高。

string stringbuffer和stringbuilder的區別?

4樓:訾絹遇良驥

1.在執行速度方面的比較:stringbuilder>

stringbuffer

2.stringbuffer與stringbuilder,他們是字串變數,是可改變的物件,每當我們用它們對字串做操作時,實際上是在一個物件上操作的,不像string一樣建立一些物件進行操作,所以速度就快了。

3.stringbuilder:執行緒非安全的stringbuffer:執行緒安全的

當我們在字串緩衝去被多個執行緒使用是,jvm不能保證stringbuilder的操作是安全的,雖然他的速度最快,但是可以保證stringbuffer是可以正確操作的。當然大多數情況下就是我們是在單執行緒下進行的操作,所以大多數情況下是建議用stringbuilder而不用stringbuffer的,就是速度的原因。

對於三者使用的總結:1.如果要操作少量的資料用=string

2.單執行緒操作字串緩衝區

下操作大量資料

=stringbuilder

3.多執行緒操作字串緩衝區

下操作大量資料

=stringbuffer

j**a中stringbuffer與stringbuilder、string的區別是什麼?

5樓:匿名使用者

string 是字串類 最常用於簡單的字串操作

stringbuffer 是字串緩衝。 適用於複雜的字串增刪改操作。

stringbuilder 是與 stringbuffer 相容的 api 簡化。 該類被設計用作 stringbuffer 的一個簡易替換,用在字串緩衝區被單個執行緒使用的時候(這種情況很普遍)。

6樓:匿名使用者

string和stringbuffer,stringbuilder,它們可以儲存和操作字串,即包含多個字元的字元資料。string類表示內容不可改變的字串。而stringbuffer類表示內容可以被修改的字串。

當你知道字元資料要改變的時候你就可以使用stringbuffer。典型地,你可以使用stringbuffers來動態構造字元資料。

stringbuffer和stringbuilder類都表示內容可以被修改的字串,stringbuilder是執行緒不安全的,執行效率高,如果一個字串變數是在方法裡面定義,這種情況只可能有一個執行緒訪問它,不存在不安全的因素了,則用stringbuilder。如果要在類裡面定義成員變數,並且這個類的例項物件會在多執行緒環境下使用,那麼最好用stringbuffer。

請問string、stringbuffer與stringbuilder之間區別有哪些?

7樓:山東中公優就業

1、string:字串常量

stringbuffer:字串變數

stringbuilder:字串變數

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

3、stringbuilder:執行緒非安全的stringbuffer:執行緒安全的

4、對於三者使用的總結:

1).如果要操作少量的資料用 = string2).單執行緒操作字串緩衝區 下操作大量資料 = stringbuilder

3).多執行緒操作字串緩衝區 下操作大量資料 = stringbuffer

ST與ST的問題有點不懂。弄不清楚

st股 st是英文special treatment的縮寫。翻譯為特別處理。如果公司出現財務狀況異常,則其 就要被戴上st的帽子。所謂財務狀況異常,有6種情況。1 最近兩個會計年度的審計結果顯示的淨利潤均為負值 2 最近一個會計年度的審計結果顯示其股東權益低於註冊資本,即每股淨資產低於 面值 3 註...

st影象和vt影象的區別ST影象與VT影象的區別與各自的特點

1.位移 時間圖象 s t影象 橫軸表示時間,縱軸表示位移 靜止的s t影象在一條與橫軸平行或重合的直線上 勻速直線運動的s t影象在一條傾斜直線上,所在直線的斜率表示運動速度的大小及符號 2.速度 時間影象 v t影象 橫軸表示時,縱軸表示速度 靜止的v t影象在一條與橫軸重合的直線上 勻速直線運...

SPCC與ST12簿鋼板的化學成份和力學效能區別

spcc為日本標準 st12為德國標準,兩者成分和效能基本接近。st12力學效能 屈服強度mpa 280 抗拉強度mpa 270 410 斷後伸長率 l0 80mm,b 20mm 28 st12化學成分 碳 c 0.10,錳 mn 0.50 磷 p 0.035 硫 s 0.035 st12 表示為最...