<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 1-5

    第一條:
    內容:靜態工廠替代構造函數
    例子:String.valueOf()?? getInstance()等
    靜態工廠方法優點:
    1,可以隨意起名字,更好的描述返回對象
    2,每次調用的時候不一定要創建一個新對象
    3,可以返回一個原返回類型的子類型對象
    靜態工廠方法的缺點:
    1,如果類沒有公有或者受保護的構造函數就不能被子類化
    2,不符合規范,破壞規范。在API文檔中不會被那么明確的標識出來。

    第二條:使用私有構造函數強化單態
    單態的模式大家都知道了,但是使用單態的時候記住要使用私有的構造函數。
    原因很簡單,如果不如此很難保證單態。只要new一下另一個對象就生成了

    第三條:有些類是不能實例化的,如果你要做到這點,記得使用私有的構造函數。
    例如:java.util.Collections??????? java.lang.Math 等

    第四條:避免創造重復的對象
    特別是這樣的代碼不要寫: String str = new String("a string");
    因為這樣每次執行的時候都創建了一個"a string"對象。
    可以寫成這樣:String str = "a string?";
    另外順便說一句,這個時候你再次定義String? str2 = "a string";會復用上邊的字符串.

    第五條:在有些情況下手動消除對象的引用
    public?class?Stack{
    ????
    private?Object[]?elements;
    ????
    private?int?size?=?0;
    ????
    public?Stack(int?initialCapacity){
    ????????
    this.elements?=?new?Object[initialCapacity];
    ????}

    ????
    public?void?push(Object?e){
    ????????ensureCapacity();
    ????????elements[size
    ++]?=?e;
    ????}

    ????
    public?Object?pop(){
    ????????
    if?(size?==?0)
    ????????????
    throw?new?EmptyStackException();
    ????????
    return?elements[--size];
    ????}

    ????
    private?void?ensureCapacity(){
    ????????
    if?(elements.length?==?size){
    ????????????Object[]?oldElements?
    =?elements;
    ????????????elements?
    =?new?Object[2*element.length+1];
    ????????System.arraycopy(oldElements,
    0,elements,0,size);
    ????????}

    ????}

    }
    如果這個Stack先大量增長,然后收縮,然后在比較小的范圍內使用,必定造成大量的不可回收的對象,造成內存泄漏.。
    解決辦法:改造一下pop()方法
    public?Object?pop(){
    ???????
    if(size?=?=?0)
    ???????????
    throw?new?EmptyStackException();
    ??????? Object?result?
    =?elements[--size];
    ?????????????????//加上這一句
    ?????? ?elements.[size]
    =null;
    ????? ??
    return?result;
    }

    posted on 2007-01-28 23:58 dreamstone 閱讀(681) 評論(0)  編輯  收藏 所屬分類: jdk相關

    主站蜘蛛池模板: 亚洲中文字幕无码爆乳app| 国产亚洲精久久久久久无码AV| 亚洲成AV人片一区二区| 一级黄色毛片免费看| 亚洲第一区精品日韩在线播放| 国产精品亚洲综合网站| 免费成人黄色大片| 五月天婷婷精品免费视频| 国产亚洲情侣一区二区无| 久久精品无码专区免费| 久久综合图区亚洲综合图区| 国产精品免费AV片在线观看| 亚洲美女免费视频| AV片在线观看免费| 国产精品亚洲综合天堂夜夜| 亚洲国产精品成人网址天堂| 三年在线观看免费观看完整版中文 | 一二三四视频在线观看中文版免费| 亚洲视频一区二区在线观看| 日韩亚洲国产高清免费视频| 亚洲人AV在线无码影院观看| 全亚洲最新黄色特级网站| 一区二区三区免费视频网站| 亚洲AV无码成人精品区蜜桃| 亚洲毛片免费观看| 亚洲爆乳无码精品AAA片蜜桃| 亚洲精品国产日韩无码AV永久免费网| xxxxxx日本处大片免费看| 精品亚洲aⅴ在线观看| 免费看美女被靠到爽| 国产免费福利体检区久久| 亚洲综合一区二区国产精品| 久久久久免费看黄A片APP| 成人午夜免费视频| 亚洲视频在线观看地址| 日本免费一二区在线电影| 男人进去女人爽免费视频国产 | 亚洲成人影院在线观看| 8888四色奇米在线观看免费看| 亚洲AV无码专区在线电影成人| 亚洲一区二区三区无码中文字幕|