DANCE WITH JAVA

          開發(fā)出高質(zhì)量的系統(tǒng)

          常用鏈接

          統(tǒng)計(jì)

          積分與排名

          好友之家

          最新評(píng)論

          Effective Java 31-45

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

          posted on 2007-02-11 01:32 dreamstone 閱讀(1542) 評(píng)論(0)  編輯  收藏 所屬分類: jdk相關(guān)

          主站蜘蛛池模板: 虎林市| 东乌珠穆沁旗| 湖北省| 鄢陵县| 山阳县| 任丘市| 仙居县| 平泉县| 白沙| 佛山市| 古丈县| 锡林浩特市| 建昌县| 澳门| 临颍县| 汕头市| 油尖旺区| 江北区| 当涂县| 札达县| 梨树县| 胶州市| 南岸区| 温宿县| 昌黎县| 长垣县| 桃源县| 加查县| 酒泉市| 田林县| 巫山县| 聊城市| 钟山县| 吉水县| 新邵县| 通化县| 布拖县| 蕉岭县| 上虞市| 吐鲁番市| 赤水市|