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

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

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

    一葉笑天
    雄關漫道真如鐵, 而今邁步從頭越。 從頭越, 蒼山如海, 殘陽如血。
    posts - 73,comments - 7,trackbacks - 0
    在Jdk1.5之前有兩種方式實現單例。它們都是采用維護私有構造器并且暴露一個static的成員函數來提供訪問單一實例對象。第一種方式是將成員變量聲明為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方式的主要優勢是在于清楚的聲明了指定的類是單例的。
    static的工廠方法優勢在于可以靈活設置指定的類應不應該在不改變它的API的前提下是不是一個單例。
    為了實現用前面介紹的方式來實現單例的serializable,不能僅僅增加implement Serializable。為了一直保持單例狀態,必須聲明所有的屬性為transient,而且提供一個readResolve方法。否則當一個類反序列化的時候,新的實例將會隨之生成。為了保持Elvis類單例,可以增加下面的函數:
    // 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中,還可以用另外一種方式實現單例。使用enum來保持類單例:
    // Enum singleton - the preferred approach
    public enum Elvis {
    INSTANCE;
    public void leaveTheBuilding()  }
    }
    除了它更簡明,這種方式等同于public屬性方式。免費提供了序列化機制,即使面對尖端的序列化或者反射攻擊,它都提供了堅實的單例。
    結論:
    這種方式還需要廣泛的采納,
    元素級的單例枚舉類型是最好的實現單例的方法。
    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技術
    主站蜘蛛池模板: 亚洲欧洲日本国产| 精品无码一区二区三区亚洲桃色 | 亚洲国产精品人久久| 久久久久久国产a免费观看不卡 | 亚洲日韩中文字幕无码一区| 最近新韩国日本免费观看| 91精品国产亚洲爽啪在线观看| 人人揉揉香蕉大免费不卡| 国产精品亚洲片在线观看不卡| 免费福利在线视频| 亚洲码在线中文在线观看| 在线视频精品免费| 亚洲精品天堂成人片AV在线播放| 日本大片在线看黄a∨免费| 精品国产亚洲一区二区三区在线观看| 又粗又硬又黄又爽的免费视频| 暖暖免费中文在线日本| 亚洲日韩一页精品发布| 97精品免费视频| 亚洲欧美第一成人网站7777| 亚洲国产成人爱av在线播放| 在线观看免费播放av片| 亚洲sss综合天堂久久久| 国产成人无码a区在线观看视频免费| 美女羞羞免费视频网站| 亚洲精品亚洲人成人网| 在线看片v免费观看视频777| 亚洲av无码成人精品区一本二本 | 亚洲精品无码不卡| 午夜私人影院免费体验区| 一级特黄aaa大片免费看| 亚洲国产精品一区| 黄网址在线永久免费观看 | 一级视频在线免费观看| 91亚洲国产成人久久精品网站| 成人免费在线视频| 中文字幕在线观看免费| 亚洲一区二区三区91| 亚洲毛片av日韩av无码| AV无码免费永久在线观看| 又黄又大的激情视频在线观看免费视频社区在线 |