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

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

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

    一葉笑天
    雄關(guān)漫道真如鐵, 而今邁步從頭越。 從頭越, 蒼山如海, 殘陽如血。
    posts - 73,comments - 7,trackbacks - 0
    在Jdk1.5之前有兩種方式實現(xiàn)單例。它們都是采用維護(hù)私有構(gòu)造器并且暴露一個static的成員函數(shù)來提供訪問單一實例對象。第一種方式是將成員變量聲明為final類型,例如:
    // Singleton with public final field
    public class Elvis {
    public static final Elvis INSTANCE = new Elvis();
    private Elvis()  }
    public void leaveTheBuilding()  }
    }
    另外一種方式是采用一個static的工廠方法:例如
    // Singleton with static factory
    public class Elvis {
    private static final Elvis INSTANCE = new Elvis();
    private Elvis()  }
    public static Elvis getInstance() return INSTANCE; }
    public void leaveTheBuilding()  }
    }
    public field方式的主要優(yōu)勢是在于清楚的聲明了指定的類是單例的。
    static的工廠方法優(yōu)勢在于可以靈活設(shè)置指定的類應(yīng)不應(yīng)該在不改變它的API的前提下是不是一個單例。
    為了實現(xiàn)用前面介紹的方式來實現(xiàn)單例的serializable,不能僅僅增加implement Serializable。為了一直保持單例狀態(tài),必須聲明所有的屬性為transient,而且提供一個readResolve方法。否則當(dāng)一個類反序列化的時候,新的實例將會隨之生成。為了保持Elvis類單例,可以增加下面的函數(shù):
    // readResolve method to preserve singleton property
    private Object readResolve() {
    // Return the one true Elvis and let the garbage collector
    // take care of the Elvis impersonator.
    return INSTANCE;
    }
    在1.5中,還可以用另外一種方式實現(xiàn)單例。使用enum來保持類單例:
    // Enum singleton - the preferred approach
    public enum Elvis {
    INSTANCE;
    public void leaveTheBuilding()  }
    }
    除了它更簡明,這種方式等同于public屬性方式。免費提供了序列化機(jī)制,即使面對尖端的序列化或者反射攻擊,它都提供了堅實的單例。
    結(jié)論:
    這種方式還需要廣泛的采納,
    元素級的單例枚舉類型是最好的實現(xiàn)單例的方法。
    While this approach has yet to be widely
    adopted, a single-element enum type is the best way to implement a singleton.
    posted on 2008-06-18 21:49 一葉笑天 閱讀(373) 評論(0)  編輯  收藏 所屬分類: JAVA技術(shù)
    主站蜘蛛池模板: 国产自国产自愉自愉免费24区 | 国产高清视频在线免费观看| 国产成人高清亚洲一区久久| 国产亚洲日韩一区二区三区| **毛片免费观看久久精品| 亚洲youwu永久无码精品| 亚洲愉拍99热成人精品热久久| 91手机看片国产永久免费| 一级做a爱过程免费视| 亚洲国产成人精品电影| 红杏亚洲影院一区二区三区| 99爱在线精品免费观看| 久久久免费观成人影院| 亚洲国产高清国产拍精品| 亚洲av中文无码乱人伦在线播放| 在线A级毛片无码免费真人 | 亚洲第一成人影院| 16女性下面扒开无遮挡免费| 又硬又粗又长又爽免费看 | 亚欧免费视频一区二区三区 | 成人毛片免费观看| 99久久成人国产精品免费| 亚洲男人的天堂网站| 亚洲国产成人久久综合一| 亚洲 综合 国产 欧洲 丝袜| 久久久高清免费视频| 国产成人精品一区二区三区免费| 羞羞网站免费观看| 国产精品亚洲精品青青青| 亚洲午夜免费视频| 亚洲日韩精品一区二区三区无码| 国产伦精品一区二区三区免费下载 | 黄色毛片免费网站| 亚洲综合av一区二区三区不卡 | 女人被免费视频网站| 0588影视手机免费看片| 久久精品国产免费一区| 天堂亚洲免费视频| 日韩色视频一区二区三区亚洲| 亚洲不卡影院午夜在线观看| 亚洲欧洲日产v特级毛片|