為什麼不要用 StringBuffer

2021-09-12 10:50:46 字數 269 閱讀 4733

很多人在回答新手提問的時候會說,stringbuilder 是非同步的,所以快一些,stringbuffer是同步(執行緒an全)的,所以慢一些。從技術上說這句話是沒有錯的,但是為什麼又不要用 stringbuffer 呢?

這就是為什麼 stringbuffer 這個類天生缺陷。

在api設計中有一條規則是這樣說的:

乙個類不應該自己實現同步,而應該把同步的工作留給使用者。

這句話也是本帖的目的所在: 在絕大多數情況下,把同步的工作留給應用**,而不是工具類的**。

為什麼不要用select

很可能這會是乙個面試題 主要從以下幾個角度 1.程式變更問題,出現不可以預知隱患 假設某一天修改了表結構,如果用select 返回的資料必然會會變化,客戶端是否對資料庫變化作適配,是否所有地方都做了適配,這都是問題。2.效能問題 a.使用了select 必然導致資料庫需要先解析代表哪寫字段,從資料字...

為什麼要用 enable shared from

樓主 hma if you think you can,you can.panrainbow 憂鬱淡藍 於 tue nov 9 11 48 38 2010 提到 引入enable shared from this的原因是可以實現返回值為指向該類本身的 shared ptr,為什麼以this為拷貝構造...

為什麼要用補碼

在探求為何機器要使用補碼之前,讓我們先了解原碼,反碼和補碼的概念.對於乙個數,計算機要使用一定的編碼方式進行儲存.原碼,反碼,補碼是機器儲存乙個具體數字的編碼方式.原碼就是符號位加上真值的絕對值,即用第一位表示符號,其餘位表示值.比如如果是8位二進位制 1 原 0000 0001 1 原 1000 ...