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 表示為最...