//餓漢式(靜態常量)
class
singleton01
//2、本內內部建立物件例項
private
static
final singleton01 instance = new
singleton01();
//3、提供乙個公共的靜態方法,返回例項物件
public
static
singleton01 getinstance()
}
//餓漢式(靜態**塊)
class
singleton02
//2、本內內部建立物件例項
private
static
singleton02 instance;
static
//3、提供乙個公共的靜態方法,返回例項物件
public
static
singleton02 getinstance()
}
//懶漢式(執行緒不安全)
class
singleton03
private
static singleton03 instance = null
;
public
static
singleton03 getinstance()
return
instance;
}}
//懶漢式(執行緒安全)
class
singleton04
private
static singleton04 instance = null
;
public
static
synchronized
singleton04 getinstance()
return
instance;
}}
//懶漢式(執行緒安全,同步**塊)
class
singleton05
private
static singleton05 instance = null
;
public
static
synchronized
singleton05 getinstance()
}return
instance;
}}
//執行緒安全,雙重檢查,推薦使用
class
singleton06
private
static
volatile singleton06 instance = null
;
//提供乙個靜態的公有方法,加入雙重檢查**,解決執行緒安全問題,同時解決懶載入問題
public
static
singleton06 getinstance() }}
return
instance;
}}
//靜態內部內,推薦使用
class
singleton07
private
static
volatile singleton07 instance = null
;
//寫乙個靜態內部類,該類中有乙個靜態屬性singleton07
private
static
class
singleton07instance
//提供乙個靜態的公有方法,直接返回singleton07instance.instance
public
static
synchronized
singleton07 getinstance()
}
設計模式之單例模式(建立型)
單例模式的核心,就是全域性只有乙個例項。下面就每一種建立方式分析其優缺點。1.餓漢式 餓漢式 public class personhungry public static personhungry getinstance 2.靜態 塊public class person private pers...
建立型 單例模式
單例模式是所有模式中我們平常用的最多而且比較好理解的乙個模式。保證乙個類緊乙個例項,並提供乙個訪問它的全域性訪問點。在一些情況下,我們可能需要某個類只能建立出乙個物件,既不讓使用者用該類例項化出多餘兩個的例項。單例類 singleton 單例類只可以建立出乙個例項。只有乙個參與者,可以看出它是乙個很...
建立型 單例模式
定義 作為物件的建立模式,單例模式確保某乙個類只有乙個例項,而且自行例項化並向整個系統提供這個例項。這個類稱之為單例類。特點 單例類只能有乙個例項 單例類必須自己建立自己的唯一例項 單例類必須給所有的其他物件提供這一例項。餓漢模式 單例模式singleton 應用場合 有些物件只需要乙個就足夠了,如...