單例模式在需要只有乙個例項的場合中使用,比如配置檔案。
單例模式分為 餓漢模式 和 懶漢模式。
下面是餓漢模式**。
package com.example.singletone;
public class singleton
//2.建立private static 物件例項
private static singleton msingleton = new singleton();
//3.提供外界獲取例項的方法
public static singleton getinstance()
}
可以看到餓漢模式的例項是在載入類的時候就建立了,那麼相對載入類就比較慢。但是它是執行緒安全的。
下面是懶漢模式**。
package com.example.singletone;
public class singleton
//2.建立private static 物件引用,但不建立物件
private static singleton msingleton;
//3.提供外界獲取例項的方法
public static singleton getinstance()
return msingleton;
}}
可以看到懶漢模式的例項並非在載入類的時候建立,而是在第一次呼叫的時候建立,那麼相比餓漢模式來說,載入模擬較快但建立物件就比較慢。
並且懶漢模式也不是執行緒安全的,當併發去獲取類的例項是,可能結果並非是單例的。
設計模式初探 單例模式
所謂的單例模式就是指的乙個類只提供乙個物件例項,而且所提供的例項只有乙個訪問的入口 方法 常見的應用場景 常見的有五種實現方式 所謂的餓漢式就是,讓單例物件在類建立時就被載入,像乙個餓漢。package cn.liu.single 餓漢式單例模式 author administrator publi...
初探設計模式 單例模式
單例模式是我們經常使用的一種設計模式,那麼讓我們自己來設計一種單例模式的話,我們該如何設計呢?設計的方式有很多種,我們依次來看一下 首先是第一種 1 2 簡單的方式 在併發執行的時候可能存在多個例項3 4 author cuibin 5 create 2017 08 30 20 386 7publi...
Java設計模式 單例模式
單例模式 singleton 顧名思義,就是乙個類只有乙個例項。作為物件的建立模式,單例模式確保某乙個類只有乙個例項,而且自行例項化並向整個系統提供這個例項。這個類稱為單例類。顯然單例模式的要點有三個 一是某個類只能有乙個例項 二是它必須自行建立這個例項 三是它必須自行向整個系統提供這個例項。從具體...