posts - 1, comments - 0, trackbacks - 0, articles - 1
            BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理
          這一段很多比較簡(jiǎn)單,簡(jiǎn)單羅列一下,部分重要的做了解釋
          三十一、如果要求精確的答案,盡量避免使用float 和double,這個(gè)可以參照我的一片文章
          貨幣尤其不合適。可以使用BigDecimal代替
          三十二、如果其它類(lèi)型更適合,盡量避免使用字符串
          1,字符串不能替代其它的值類(lèi)型
          2,字符串不適合代替枚舉類(lèi)型
          3,字符串不適合代替聚集類(lèi)型
          4,字符串也不是和代替能力表
          因?yàn)橛行r(shí)候,使用字符串會(huì)大大降低性能
          三十三、了解字符串連接的性能
          說(shuō)明:使用StringBuffer代替 +來(lái)連接字符串
          三十四、通過(guò)接口來(lái)引用對(duì)象,這能讓你的程序更加靈活
          三十五、接口優(yōu)先于反射。
          使用反射會(huì)帶來(lái)很多問(wèn)題,例如:
          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ì)算上的過(guò)失都被歸咎于效率原因(沒(méi)有獲得必要的效率),而不是其它的原因--甚至包括盲目的作傻事.?? ---William A.Wulf [Wulf72]
          2,不要去計(jì)較一些小的效率上的得失,在97%的情況下,不成熟的優(yōu)化是一切問(wèn)題的根源。
          ????????????------Donald E.Knuth[Knuth74]
          3,在優(yōu)化方面要遵守兩個(gè)原則:
          規(guī)則一:不要做優(yōu)化
          規(guī)則二:還是不要做優(yōu)化--也就是說(shuō),在你還沒(méi)有絕對(duì)清晰的未優(yōu)化方案前,請(qǐng)不要優(yōu)化。
          ??????????? -----M.A.Jackson[Jackson75]
          每次試圖做優(yōu)化之前和之后請(qǐng)對(duì)性能進(jìn)行測(cè)試
          三十八:遵守普遍接受的命名規(guī)則
          三十九:值針對(duì)不正常的條件才使用異常,也就是說(shuō)不要在正常的情況下使用異常來(lái)控制流程,活著解決某些已知的問(wèn)題。因?yàn)闀?huì)大量的損失性能
          四十、對(duì)于可恢復(fù)的條件使用被檢查的異常,對(duì)于程序錯(cuò)誤使用運(yùn)行時(shí)異常
          詳細(xì):Java提供了三種可拋出結(jié)構(gòu),checked Exception,? run-time exception , error
          什么時(shí)候使用什么很容易讓人混淆,下邊是一個(gè)簡(jiǎn)單的區(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)該包括下界、上界以及沒(méi)有落在其中的實(shí)際下標(biāo)


          文章來(lái)源:http://www.aygfsteel.com/dreamstone/archive/2007/02/11/99201.html

          只有注冊(cè)用戶(hù)登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 蓬安县| 黔东| 宜君县| 文山县| 尉犁县| 咸丰县| 张掖市| 芜湖市| 大埔县| 体育| 乌拉特前旗| 林西县| 海兴县| 根河市| 侯马市| 湟中县| 玛纳斯县| 松阳县| 大同市| 祁连县| 师宗县| 新余市| 饶阳县| 得荣县| 公主岭市| 黔东| 铜鼓县| 昌宁县| 厦门市| 开远市| 修水县| 峨眉山市| 海林市| 万宁市| 唐海县| 凌海市| 襄城县| 潮安县| 湘阴县| 铅山县| 樟树市|