第一種、懶漢式(在需要例項物件的時候提供)
/**
* 懶漢式,提供乙個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...