<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    DANCE WITH JAVA

    開發出高質量的系統

    常用鏈接

    統計

    積分與排名

    好友之家

    最新評論

    Effective Java 27-30

    二十七、使用零長度數組代替Null作為返回值
    原因:返回Null會造成使用者每次使用的時候都要作一次判斷,但有人會說返回一個零長度數組會產生new的開銷,不如Null性能好。這個不是一定的,因為我們可以這樣來作
    private final static Cheese[]? NULL_CHESE_ARRAY = new Cheese[0];
    每次需要的時候返回這個數組就好了。

    二十八、為所有的導出Api元素編寫文檔注釋
    二十九、使一個局部變量的作用域最小化,最好的辦法使在第一次使用的時候聲明
    1,幾乎每一個局部變量的聲明都應該包含一個初始化表達式,如果你還沒有足夠的信息來初始化那就推遲聲明。
    2,for循環優先于while循環,見下邊的例子
    //????????for循環
    ????????for(Iterator?ie?=?list.iterator();ie.hasNext()){
    ????????????doSomething(ie.next());
    ????????}

    //????????while循環
    ????????
    ????????Iterator?ie1?
    =?list1.iterator();
    ????????
    while(ie1.hasNext()){
    ????????????doSomething(ie1.next());
    ????????}

    ????????Iterator?ie2?
    =?list2.iterator();
    ????????
    while(ie1.hasNext()){?????//bug
    ????????????doSomething(ie2.next());
    ????????}
    這個問題源于復制粘貼,在編碼的過程中復制粘貼幾乎是不可避免的,使用for循環當你出錯的時候可以在編譯器發生錯誤,而使用while則不會發現。盡早發現錯誤總是好的。
    三十、了解和使用庫(產生隨機數)
    詳細:如果你希望產生一個位于0-某個上界的隨機數,大多數的人的寫法如下
    static?Random?rnd?=?new?Random();
    ????
    static?int?random(int?n){
    ????????
    return?Math.abs(rnd.nextInt())%n;
    ????}
    這個方法存在三個缺點:
    缺點一:
    如果n是一個比較小的2的乘方 那么經過一段相當短的周期后它產生的隨即數序列將會重復
    缺點二:
    如果n不是2的乘方,那么平均起來某些數比另外一些數出現的更為頻繁,如果n比較大則這個問題更加顯著如果產生100萬范圍內的隨機數,你會發現數字幾乎全部在0-666 666 ,前2/3的數字
    缺點三:
    在有些情況下會災難性失敗,返回一個落在范圍之外的數字。原因是使用了Math.abs來得到一個非負數。
    如果nextInt()返回 Integer.MIN_VALUE,那么abs后也會返回Integer.MIN_VALUE ,假設n不是2的乘方,那么取模操作符%將返回一個負數,這幾乎肯定造成你的程序失敗,而且這個失敗很難重現。

    為了編寫一個避免上邊三個缺點的random,你必須了解線性同于偽隨機發生器、數論、和2的求補運算知識。不過Jdk已經實現了一個現成的可以使用,那就是Random.nextInt(int)

    posted on 2007-02-11 01:03 dreamstone 閱讀(1485) 評論(0)  編輯  收藏 所屬分類: jdk相關

    主站蜘蛛池模板: 亚洲精品乱码久久久久久久久久久久 | 久久精品中文字幕免费| 一级毛片免费在线观看网站| 免费高清小黄站在线观看| 日韩a在线观看免费观看| 午夜一区二区免费视频| 免费人成网站在线高清| 亚洲精品动漫人成3d在线| 亚洲人成影院在线观看| 亚洲日韩中文字幕在线播放| 亚洲成人精品久久| 亚洲国产亚洲片在线观看播放| 亚洲综合一区国产精品| 亚洲国产欧美国产综合一区| 免费大片黄在线观看| 免费观看男人吊女人视频| 永久免费视频网站在线观看| 一个人免费观看在线视频www| 日本一区二区三区日本免费| 久久精品国产亚洲7777| 亚洲国产高清视频| 亚洲av无码专区在线电影| 中文字幕av免费专区| 99在线视频免费观看视频| 又粗又黄又猛又爽大片免费| 国产亚洲精品一品区99热| 亚洲冬月枫中文字幕在线看| 校园亚洲春色另类小说合集| 野花香高清视频在线观看免费| 性短视频在线观看免费不卡流畅| 免费人成年轻人电影| 亚洲老熟女@TubeumTV| 免费一级特黄特色大片| 中文字幕天天躁日日躁狠狠躁免费| 日韩激情无码免费毛片| 亚洲av福利无码无一区二区 | 亚洲丰满熟女一区二区哦| 美女在线视频观看影院免费天天看 | 亚洲精品视频在线观看你懂的| 亚洲精品欧洲精品| 国产一级一毛免费黄片|