posts - 1, comments - 0, trackbacks - 0, articles - 1
            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

          [導(dǎo)入]Effective Java 31-45

          Posted on 2007-02-11 01:32 江海魚 閱讀(80) 評論(0)  編輯  收藏
          這一段很多比較簡單,簡單羅列一下,部分重要的做了解釋
          三十一、如果要求精確的答案,盡量避免使用float 和double,這個可以參照我的一片文章
          貨幣尤其不合適??梢允褂肂igDecimal代替
          三十二、如果其它類型更適合,盡量避免使用字符串
          1,字符串不能替代其它的值類型
          2,字符串不適合代替枚舉類型
          3,字符串不適合代替聚集類型
          4,字符串也不是和代替能力表
          因為有些時候,使用字符串會大大降低性能
          三十三、了解字符串連接的性能
          說明:使用StringBuffer代替 +來連接字符串
          三十四、通過接口來引用對象,這能讓你的程序更加靈活
          三十五、接口優(yōu)先于反射。
          使用反射會帶來很多問題,例如:
          1,不能編譯期發(fā)現(xiàn)錯誤
          2,代碼混亂
          3,調(diào)試?yán)щy
          4,性能損失。
          除非必須,否則不使用反射
          三十六、謹(jǐn)慎的使用本地方法JNI
          三十七、謹(jǐn)慎的進行優(yōu)化,有三條優(yōu)化格言:
          1,很多計算上的過失都被歸咎于效率原因(沒有獲得必要的效率),而不是其它的原因--甚至包括盲目的作傻事.?? ---William A.Wulf [Wulf72]
          2,不要去計較一些小的效率上的得失,在97%的情況下,不成熟的優(yōu)化是一切問題的根源。
          ????????????------Donald E.Knuth[Knuth74]
          3,在優(yōu)化方面要遵守兩個原則:
          規(guī)則一:不要做優(yōu)化
          規(guī)則二:還是不要做優(yōu)化--也就是說,在你還沒有絕對清晰的未優(yōu)化方案前,請不要優(yōu)化。
          ??????????? -----M.A.Jackson[Jackson75]
          每次試圖做優(yōu)化之前和之后請對性能進行測試
          三十八:遵守普遍接受的命名規(guī)則
          三十九:值針對不正常的條件才使用異常,也就是說不要在正常的情況下使用異常來控制流程,活著解決某些已知的問題。因為會大量的損失性能
          四十、對于可恢復(fù)的條件使用被檢查的異常,對于程序錯誤使用運行時異常
          詳細(xì):Java提供了三種可拋出結(jié)構(gòu),checked Exception,? run-time exception , error
          什么時候使用什么很容易讓人混淆,下邊是一個簡單的區(qū)分原則
          1,如果期望調(diào)用者能夠恢復(fù),那么對于這樣的條件應(yīng)該使用被檢查異常
          2,你所實現(xiàn)的所有未檢查的拋出結(jié)構(gòu)都是run time exception ,而不是Error
          四十一:避免不必要的使用被檢查異常
          四十二:盡可能的使用標(biāo)準(zhǔn)異常,例如IllegalArgumentException ,NullPointerException ,IndexOutOfBoundsException等等
          四十三:拋出異常要適合于相應(yīng)的抽象。
          高層實現(xiàn)應(yīng)該捕獲異常,同時拋出一個可以按照高層抽象解釋的異常(業(yè)務(wù)邏輯上符合高層邏輯),這種做法叫做異常轉(zhuǎn)譯
          四十四:每個方法拋出的異常都應(yīng)改有文檔
          四十五:在細(xì)節(jié)消息中包含失?。东@信息
          詳細(xì):在異常字符串中應(yīng)包含有用的信息,例如IndexOutOfBoundsException異常的細(xì)節(jié)消息應(yīng)該包括下界、上界以及沒有落在其中的實際下標(biāo)

          dreamstone 2007-02-11 01:32 發(fā)表評論

          文章來源:http://www.aygfsteel.com/dreamstone/archive/2007/02/11/99201.html

          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 锦州市| 新源县| 阜阳市| 嵊州市| 徐汇区| 旬阳县| 新安县| 新晃| 鸡西市| 惠水县| 广西| 巨鹿县| 义乌市| 福鼎市| 姜堰市| 辽源市| 西乌珠穆沁旗| 泽库县| 彭州市| 宜黄县| 阜阳市| 甘谷县| 桃源县| 太谷县| 察隅县| 犍为县| 五常市| 蒲江县| 抚远县| 贡觉县| 瑞金市| 靖州| 治县。| 白水县| 寻甸| 乌拉特前旗| 博客| 崇阳县| 富顺县| 龙陵县| 礼泉县|