單例模式多種方法

2021-06-19 21:05:19 字數 1477 閱讀 3489

第一種、懶漢式(在需要例項物件的時候提供)

/**

* 懶漢式,提供乙個getinstance方法,在需要例項時,才呼叫

* (執行緒不安全,可以在getinstance上加synchronized保證執行緒安全,但是效能不高)

* @author wb

* */

public class singleton ;

//私有乙個例項

private static singleton instance;

//對外提供乙個getinstance方法,獲取例項

public static singleton getinstance()

return instance;

}}

第二種、 餓漢式(不管你需不需要,一開始,就建立乙個例項物件)

/**

* 餓漢式,不管你需不需要,一開始,就建立乙個例項物件

(執行緒不安全,可以在getinstance上加synchronized保證執行緒安全,但是效能不高) * @author wb

* */

public class singleton ;

private static singleton instance=null;

static

public static singleton getinstance()

}

第三種、靜態內部類

/**

* 靜態內部類

* 保證在呼叫getinstance方法的時候,再去例項化乙個物件,體現了延時載入優點

* @author wb

* */

public class singleton ;

private static class singletonhander

public static singleton getinstance()

}

第四種、雙重校驗鎖

/**

* 雙重校驗鎖

* @author wb

* */

public class singleton

public static singleton getsingleton()

}} return singleton;

}}

/**

* 雙重校驗鎖

* @author wb

* */

public class singleton

public static singleton getsingleton()

}} return singleton;

}}

Android 單例模式多種實現方法對比

單例模式,又稱單件模式或者單子模式,指的是乙個類只有乙個例項,並且提供乙個全域性訪問點。可以使用下面幾種方式建立單例呼叫 餓漢式 餓漢式指的是單例的例項在類裝載時進行建立。如果單例類的構造方法中沒有包含過多的操作處理,餓漢式其實是可以接受的。餓漢式的常見 如下,當singleinstance類載入時...

單例模式的多種寫法

public class singleton 私有化構造器 private static singleton instance null 類的內部建立物件 public static singleton getinstance return instance 餓漢class singleton2 只...

實現單例模式的幾種方法

public class singleclass public static singleclass getinstance 2 懶漢式 類在被載入時不會被初始化,當第一次被使用時進行初始化,為保證單例,可以使用sychronized關鍵字確保執行緒安全,但是每次呼叫時都會同步。public cla...