java設計模式 單例模式

2021-08-17 06:58:06 字數 1349 閱讀 9734

乙個類只能存在乙個例項。

注意:在多執行緒操作下,有可能會導致生成多個例項,解決方法是為例項變數加互斥鎖。

餓漢模式不會出現多執行緒問題。

適用:需要儲存狀態的物件;

建立時消耗資源過多,但又經常用到的物件;

不適用:

類例項經常變化;

類載入時就生成例項。

/**

* 單例模式--餓漢模式

* @author zhouy

* */

public class singleton

// 類載入時生成例項

public static singleton instance = new singleton();

}

package com.zhouyan.model.singleton;

public class singletontest

}

package com.zhouyan.model.singleton;

/** * 單例模式--餓漢模式

* @author zhouy

* */

public class singleton

// 類載入時生成例項

private static singleton instance = new singleton();

// 通過乙個方法獲取已生成的例項

public static singleton instance()

}

package com.zhouyan.model.singleton;

public class singletontest

}

類載入時,不生成例項,呼叫方法時再生成。

package com.zhouyan.model.singleton;

/** * 單例模式--懶漢模式

* @author zhouy

* */

public class singleton

// 類載入時申明例項變數

private static singleton instance;

// 通過乙個方法獲取例項

public static singleton getinstance()

return instance;

}}

package com.zhouyan.model.singleton;

public class singletontest

}

Java設計模式 單例模式

單例模式 singleton 顧名思義,就是乙個類只有乙個例項。作為物件的建立模式,單例模式確保某乙個類只有乙個例項,而且自行例項化並向整個系統提供這個例項。這個類稱為單例類。顯然單例模式的要點有三個 一是某個類只能有乙個例項 二是它必須自行建立這個例項 三是它必須自行向整個系統提供這個例項。從具體...

java設計模式 單例模式

這個模式是很有意思,而且比較簡單,但是我還是要說因為它使用的是如此的廣泛,如此的有人緣,單例就是單 一 獨苗的意思,那什麼是獨乙份呢?你的思維是獨乙份,除此之外還有什麼不能山寨的呢?我們舉個比較難複製的物件 皇帝中國的歷史上很少出現兩個皇帝並存的時期,是有,但不多,那我們就認為皇帝是個單例模式,在這...

java設計模式 單例模式

單例模式介紹 單例模式分 懶漢式單例 餓漢式單例。單例模式有一下特點 1 單例類只能有乙個例項。2 單例類必須自己自己建立自己的唯一例項。3 單例類必須給所有其他物件提供這一例項。單例模式確保某個類只有乙個例項,而且自行例項化並向整個系統提供這個例項。單例有併發問題,只有乙個例項,多個執行緒就可能同...