單例模式我在這裡介紹的就三種:餓漢模式、懶漢模式、靜態內部類模式。
餓漢模式:
public
class singleton
//第二步,定義乙個類的例項
private
static singleton instance = new singleton();
//第三步,定義個方法向外界提供類的例項
public
static singleton getinstance()
}
懶漢模式:
public
class singleton
//第二步,宣告乙個類的例項
private
static singleton instance;
//第三步,定義個方法向外界提供類的例項
public
static singleton getinstance()else
}}
靜態內部類模式:
public
class singleton
//第二步,定義乙個內部類,並在其中定義乙個成員變數為外部類的例項
static class innerclass
//第三步,向外界提供乙個獲取例項的方法
public
static singleton getinstance()
}
我簡單總結幾點如下:
1. 餓漢模式和懶漢模式的區別就是:餓漢模式是在宣告類的例項的時候就進行了賦值,即已經new了乙個例項並付給了instance;而懶漢模式是在向外界提供例項的時候才進行判斷,如果沒有進行過賦值處理則new乙個例項instance並返回,如果賦值過了則直接返回該例項。
2. 餓漢模式是在類載入的時候相比較懶漢模式慢一些,但是在使用類的時候要快;而懶漢模式是在類載入時候相對快一些,而在使用類的時候慢於餓漢模式。
3. 靜態內部類模式就是把向外界提供的那個外部類的唯一例項放在靜態內部類中,作為其靜態的成員變數,並且由外部類的靜態方法向外界提供。
Java設計模式 單例模式
單例模式 singleton 顧名思義,就是乙個類只有乙個例項。作為物件的建立模式,單例模式確保某乙個類只有乙個例項,而且自行例項化並向整個系統提供這個例項。這個類稱為單例類。顯然單例模式的要點有三個 一是某個類只能有乙個例項 二是它必須自行建立這個例項 三是它必須自行向整個系統提供這個例項。從具體...
java設計模式 單例模式
這個模式是很有意思,而且比較簡單,但是我還是要說因為它使用的是如此的廣泛,如此的有人緣,單例就是單 一 獨苗的意思,那什麼是獨乙份呢?你的思維是獨乙份,除此之外還有什麼不能山寨的呢?我們舉個比較難複製的物件 皇帝中國的歷史上很少出現兩個皇帝並存的時期,是有,但不多,那我們就認為皇帝是個單例模式,在這...
java設計模式 單例模式
單例模式介紹 單例模式分 懶漢式單例 餓漢式單例。單例模式有一下特點 1 單例類只能有乙個例項。2 單例類必須自己自己建立自己的唯一例項。3 單例類必須給所有其他物件提供這一例項。單例模式確保某個類只有乙個例項,而且自行例項化並向整個系統提供這個例項。單例有併發問題,只有乙個例項,多個執行緒就可能同...