<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 閱讀(181) 評論(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}
    主站蜘蛛池模板: 精品亚洲AV无码一区二区三区| 西西人体免费视频| 人成电影网在线观看免费| 精品人妻系列无码人妻免费视频| 精品免费视在线观看| 久久午夜夜伦鲁鲁片免费无码影视| 一色屋成人免费精品网站| 四虎影在线永久免费观看| 亚洲人成在线播放网站| 亚洲婷婷天堂在线综合| 午夜在线免费视频| 最近免费中文字幕高清大全| 免费高清在线影片一区| 亚洲精品无码乱码成人| 激情综合亚洲色婷婷五月APP| 一区二区三区免费视频播放器| 猫咪免费人成网站在线观看| 亚洲成片观看四虎永久| 亚洲黄色免费电影| 一级特黄a免费大片| 美女视频黄的全免费视频网站| 亚洲av日韩av欧v在线天堂| 亚洲精品中文字幕麻豆 | 亚洲中文字幕无码久久2017| 亚洲日韩中文字幕| 国产美女视频免费观看的网站| 精品国产无限资源免费观看| 国产亚洲精品成人a v小说| 亚洲av无码专区首页| 100000免费啪啪18免进| 婷婷精品国产亚洲AV麻豆不片| 人人狠狠综合久久亚洲| 天天影院成人免费观看| 亚洲桃色AV无码| 污视频网站免费观看| 男女做羞羞的事视频免费观看无遮挡| 亚洲午夜久久久久久久久电影网| 亚洲精品无码av中文字幕| 1000部拍拍拍18勿入免费视频软件 | 国产偷国产偷亚洲清高APP| 91精品国产免费入口|