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

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

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

    城市獵人

    在一網情深的日子里,誰能說得清是苦是甜,只知道確定了就義無反顧
    posts - 1, comments - 7, trackbacks - 0, articles - 89

    模式(五):單件(singleton)模式

    Posted on 2008-07-23 09:51 sailor 閱讀(183) 評論(0)  編輯  收藏 所屬分類: 模式

    定義
        確保一個類只有一個實例,并提供全局訪問點

    設計原則
        在JAVA中實現單件模式需要一個私有的構造器、一個靜態方法和一個靜態變量;
        確定在性能和資源上的限制,然后小心地選擇適當的方案來實現單件,以解決多線程的問題;
        如果不是采用第五版的java 2,雙重檢查鎖實現會失效;
        
    實現
        1、lazy singleton

     1public class Singleton{
     2
     3 private static Singleton uniqueInstance;
     4
     5 private Singleton(){}  //私有構造器
     6
     7 public static Singleton getInstance(){
     8
     9  if(uniqueInstance == null){
    10   
    11   uniqueInstance = new Singleton();
    12  }

    13  
    14  return uniqueSingleton
    15 }

    16}

        
        2、處理多線程
                 這是保證可行的最直接做法,對于性能如果沒有考慮,可以直接用這個方法。

     1public class Singleton{
     2
     3 private static Singleton uniqueInstance;
     4
     5 private Singleton(){}  //私有構造器
     6
     7 public static synchronized Singleton getInstance(){
     8
     9  if(uniqueInstance == null){
    10   
    11   uniqueInstance = new Singleton();
    12  }

    13  
    14  return uniqueSingleton
    15 }

    16}

        3、急切實例化
     1public class Singleton{
     2 
     3 private static uniqueInstance = new Singleton();
     4
     5 private Singleton(){}
     6
     7 public static Singleton getInstance(){
     8 
     9   return uniqueInstance;
    10 }

    11
    12}


        4、用“雙重檢查加鎖”,在getInstance( )中減少使用同步
        由于沒有性能上考慮,所以這個方法似乎殺雞用了牛刀。另外這個方法還得確定使用的是java5以上的版本。

     1package com.sailor.singleton;
     2
     3/**
     4 * @author sailor
     5 * Jul 23, 2008 9:46:17 AM
     6 */

     7public class Singleton {
     8    
     9    private volatile static Singleton uniqueInstance;
    10    
    11    private Singleton(){}
    12    
    13    public static Singleton getInstance(){
    14        if(uniqueInstance == null){
    15            synchronized(Singleton.class){
    16                if(uniqueInstance == null){
    17                    uniqueInstance = new Singleton();
    18                }

    19            }

    20        }

    21        return uniqueInstance;
    22    }

    23}
    主站蜘蛛池模板: 成人毛片18女人毛片免费96| 无码人妻精品中文字幕免费| 在线观看日本免费a∨视频| 亚洲色图国产精品| 久久精品私人影院免费看| 亚洲国产人成在线观看69网站| 182tv免费视频在线观看| 亚洲AV无码一区二区二三区软件 | a级毛片高清免费视频| 久久亚洲av无码精品浪潮| a一级毛片免费高清在线| 国产成人99久久亚洲综合精品| jizz免费观看| 亚洲成AV人片一区二区| 18禁黄网站禁片免费观看不卡| 亚洲一区二区免费视频| 日本免费中文字幕在线看| 羞羞视频在线观看免费| 亚洲国产精品lv| 一个人免费高清在线观看| 精品亚洲福利一区二区| 亚洲熟女一区二区三区| 69av免费观看| 亚洲va中文字幕| 精品亚洲一区二区三区在线播放 | 美女视频黄的免费视频网页| 亚洲黄色在线视频| 国内自产拍自a免费毛片| j8又粗又长又硬又爽免费视频| 亚洲AV无码精品色午夜果冻不卡| 日日麻批免费40分钟日本的| 久久精品国产亚洲av瑜伽| 久久精品国产亚洲av麻| 无码日韩人妻av一区免费 | 91制片厂制作传媒免费版樱花| 中文字幕在线观看亚洲日韩| 亚洲日本在线观看视频| 四虎1515hh永久久免费| 一级毛片免费不卡| 国产成+人+综合+亚洲专| 亚洲精品无码久久久久去q|