條條大路通羅馬,一種需求,有很多種編碼方式可以實現,如果在實現的基礎上進行優化,豈不是更好。
(1)foreach 比for語句具有更好的執行效率。
foreach的平均時間只有for的30%,在兩者都可以使用的情況下,建議使用foreach,另外,用for寫入資料所花的時間大約是讀取資料時間的10倍。
(2)避免使用arraylist。
因為任何物件新增到arraylist都要封箱為system.object型別,從arraylist取出資料時,要拆箱為實際型別。建議使用泛型集合可以避免裝箱和拆箱的發生,從而提高效能。
(3)存放少量資料時可以用hashtable。
(4)為字串容器宣告常量,不要直接把字元封裝在雙引號(「」)中。
(5)不要用uppercase、lowercase轉換字串進行比較,用string.compare代替。它可以忽略大小寫進行比較。
(6)用stringbuilder代替字串的連線符「+」。
(7)避免在迴圈體內宣告變數,應該在迴圈體外宣告變數,在迴圈體內初始化。
(8)捕獲指定的異常,不要使用通用的system.exception。
(9)不要用exception控制程式流程。
捕獲異常對效能的損耗是眾所周知的。知道的異常最好用if語句來控制程式流程。
(10)使用using或者try/finally來做資源清理。
目前先整理這麼多。
高效C 編碼優化
1.foreach vs for 語句 foreach 要比for具有更好的執行效率 foreach的平均花費時間只有for的30 通過測試結果在for和foreach都可以使用的情況下,我們推薦使用效率更高的foreach 另外,用for寫入資料時間大約是讀取資料時間的10倍左右.2.避免使用ar...
高效面試之理解編碼
一.補碼 1.為什麼要使用原碼,反碼,補碼 1 負數二進位制怎麼表示?答 在原碼中,高位為1就表示負數 2 計算機如何實現減法?1 1 答 對於計算機,邏輯運算應該設計的簡單,1 1可以表示為1 1 故沒有減法,用加法實現減法。1 1 1 1 00000001 原 10000001 原 100000...
高效併發之鎖優化
前面討論執行緒間互斥同步的時候,提到了互斥同步對效能最大的影響是阻塞的實現,掛起執行緒和恢復執行緒操作都需要轉入核心態中完成,這些操作給系統的併發效能帶來了很大的壓力。共享資料的鎖定狀態只會持續很短一段時間,為了這段時間去掛起和恢復執行緒並不值得。如果物理機器有乙個以上的處理器,能讓兩個或以上的執行...