//餓漢式單例,類載入在整個生命週期中只會被載入一次
public
class
singleton1
//提供指向自己的私有靜態引用(類載入時就建立),執行緒安全
private
static singleton1 singleton1 =
newsingleton1()
;//給外部獲取例項的方法
public
static singleton1 getsingleton1()
}
//懶漢式單例
public
class
singleton2
//提供私有靜態引用指向自身
private
static singleton2 singleton2 = null;
//靜態方法呼叫時,例項化物件
public
static
synchronized singleton2 getsingleton2()
return singleton2;
}
package com.huangliutan;
//單例模式-雙重檢查
public
class
singletondoublecheck
//私有靜態引用指向例項本身,使用 volatile 關鍵字,防止重排序
private
static
volatile singletondoublecheck singletondoublecheck ;
//提供獲取例項公共靜態方法
public
static singletondoublecheck getsingletondoublecheck()
}}return singletondoublecheck;
}}
兩種單例模式
一。單例模式 有以下的特點 eg。每台計算機可以有若干通訊埠,系統應當集中管理這些通訊埠,以避免乙個通訊埠同時被兩個請求同時呼叫。為了避免不一致狀態 1 單例類只能有乙個例項。2 單例類必須自己建立自己的唯一例項。3 單例類必須給所有其他物件提供這一例項。1 懶漢式單例 singleton通過將構造...
單例模式 餓漢式 兩例
單例模式建立的幾種方式 1.餓漢式 1 構造器私有化同時建立物件 2 宣告乙個私有靜態屬性 3 對外提供訪問屬性的靜態方法 author administrator public class singleton 提供乙個可以讓外部訪問class的靜態方法,可以直接訪問 public static s...
關於單例模式的N種實現方式
在開發中經常用到單例模式,單例模式也算是設計模式中最容易理解,也是最容易手寫 的模式,所以也常作為面試題來考。所以想總結一下單例模式的理論知識,方便同學們面試使用。單例模式實現的方式只有兩種型別,一種是餓漢式 類載入時就初始化 一種是懶漢式 類載入時不初始化 餓漢式沒什麼可講究的因為它既簡單也執行緒...