方法三:(列舉類實現單例:實質上屬於餓漢式單例)
方法四:
破壞單例的方法
設計模式通俗的將,就是程式設計中的一些套路,目的就是讓我們的**實現特定的目的,結構上也能更加優秀。
虛擬機器中這個類只有乙個例項物件
通俗來講就是一開始就建立好這個例項物件
public
class
singleton
//自己建立這個例項
private
static singleton me =
newsingleton()
;//獲取唯一例項
public
static singleton getinstance()
}class
test
}
定義:
也就是用不到時不建立,用到時才建立
方法:(在多執行緒情況下為了保證真正單例,方法上加synchronized實現同步,也就是說如果有多個執行緒需要使用singleton2例項物件時,其他執行緒需要等待正在使用此物件的執行緒釋放鎖之後才能對其進行操作)
public
class
singleton2
//只宣告物件
private
static singleton2 me;
//獲取唯一例項
public
static singleton2 getinstance()
return me;
}}
public
enum singletonenum
還有一種更安全效率更高的方式:
因為在匿名內部類裡面實現唯一例項的建立,jvm會保證它的安全性,不用加鎖,提高程式的效能。
public
class
singletoneffictive
//靜態內部類
private
static
class
holder
public
static singletoneffictive getinstance()
}
可以呼叫類的私有構造
可以把位元組陣列還原成物件,也可以存到磁碟上,讀一次生成乙個物件。
java 中的設計模式 單例模式
單例模式 當有程式中只想保持物件的乙份例項的時候通常會使用 單例模式 1 在多執行緒中 若每乙份執行緒都儲存乙份例項 通常與threadlocal一起使用 2 若多執行緒訪問同乙份例項 則要加多執行緒訪問控制 reentrantlock 雙重檢查鎖等 public class singleinsta...
Java設計模式 單例模式
單例模式 singleton 顧名思義,就是乙個類只有乙個例項。作為物件的建立模式,單例模式確保某乙個類只有乙個例項,而且自行例項化並向整個系統提供這個例項。這個類稱為單例類。顯然單例模式的要點有三個 一是某個類只能有乙個例項 二是它必須自行建立這個例項 三是它必須自行向整個系統提供這個例項。從具體...
java設計模式 單例模式
這個模式是很有意思,而且比較簡單,但是我還是要說因為它使用的是如此的廣泛,如此的有人緣,單例就是單 一 獨苗的意思,那什麼是獨乙份呢?你的思維是獨乙份,除此之外還有什麼不能山寨的呢?我們舉個比較難複製的物件 皇帝中國的歷史上很少出現兩個皇帝並存的時期,是有,但不多,那我們就認為皇帝是個單例模式,在這...