Android之單列模式

2021-10-21 02:38:31 字數 1167 閱讀 4891

單列模式簡單來說就是只有乙個例項,並且自己負責建立自己的物件。

雙重鎖模式執行緒安全的兩個方面:執行控制(synchronized)和記憶體可見(volatile)。

/*單列模式*/

public

class

singleton

*//*以例項為返回值的靜態的公有方法,靜態工廠方法*/

/* public static singleton getsingleton()

return instance;

}*//* —————————— —————————— 餓漢模式(記憶體浪費) —————————— —————————— */

/* */

/*指向例項的私有靜態引用,主動建立*/

/* private static singleton singleton = new singleton();

*//*私有的構造方法*/

/* private singleton(){};

*//*以自己例項為返回值的靜態的公有方法,靜態工廠方法*/

/* public static singleton getsingleton()*/

/* —————————— —————————— 雙重鎖模式(執行緒安全效率高) —————————— —————————— */

/* private volatile static singleton singleton;

private singleton(){};

private static singleton getsingleton()}}

return singleton;

}*//* —————————— —————————— 靜態內部類模式 —————————— —————————— */

/* private singleton(){};

*//*只有第一次呼叫getinstance方法時,虛擬機器才載入 inner 並初始化instance ,

只有乙個執行緒可以獲得物件的初始化鎖,其他執行緒無法進行初始化,保證物件的唯一性*/

/* private static singleton getinstance();

private static class inner*/

}

建立模式之單列模式

package com.djk.design.factory.singlen public class single public static single getinstance 這個單列是餓漢式的,一載入類的時候就初始化,優點是沒有執行緒安全的問題,但是缺點是如果類初始化做的東西比較多的話會浪...

Java設計模式之單列模式

單列模式 單一,也就是說乙個類只能有乙個物件。就類似於有些軟體只能開啟一次,當需要保證乙個物件在記憶體中的唯一性時,就需要引入單列模式。建立單列模式分三步操作 1.將建構函式私有化 2.在類中建立乙個本類物件 3.提供乙個公有的介面來返回建立的類 我們訪問類裡面的資料時,分兩種情況 1.通過例項化物...

詳談設計模式之單列模式

掌握設計模式的層次 剛開始學程式設計不久,聽說過什麼是設計模式 由很長時間的程式設計經驗,自己寫了很多 其中用到了設計模式,但是自己卻不知道 學習過了設計模式,發現自己已經在使用了,並且發現了一些新的模式挺好用的 閱讀了很多別人寫的原始碼和框架,在其中看到別人設計模式,並且能夠領會設計模式的精妙和帶...