單例模式簡介

單例模式分爲兩種:懶漢模式/餓漢模式,其中懶漢模式的線程是非安全的,但是對象在使用時才創建,因此在一定程度上節省了內存空間。餓漢模式的線程是安全的,但是因爲提前創建,使用時直接使用,因此相對懶漢模式佔用了許多空間。下面用代碼來簡單介紹兩種模式:

1.懶漢模式:

public class Singleton01{

private static Singleton01 single = null;

ThreadLocal<Singleton01> thread = new ThreadLocal<Singleton01>();//因爲懶漢模式的線程爲非安全的,因此我們可以使用ThreadLocal來保證懶漢模式的線程安全

private Singleton01(){}

public Singleton01 getInstance(){

single = thread.get();

if(single == null){

single = new Singleton01();

thread.set(single);

}

return single;

}

}

一個簡單的懶漢模式的大力模式寫完了,下面來完成餓漢模式:

public class Singleton01{

private static Singleton02 single = new Singleton02();

private Singleton02(){}

public Singleton02 getInstance(){

return single;

}

}

最簡單的單利模式的簡單應用介紹完了,作爲一個剛剛入門的小菜鳥,抱着開源的心態與大家分享自己學習的所得,希望能得到大神的幫助和指點,也希望能給用到的人帶來一些幫助,謝謝大家大笑

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章