設計模式(二)單例模式

2021-09-26 18:46:42 字數 915 閱讀 1029

區分餓漢式和懶漢式

public

class

singleton

;//餓漢式先建立物件

private

static singleton singleton =

newsingleton()

;//提供靜態方法來獲取物件

public

static singleton getinstance()

}

//懶漢 執行緒不安全

class

singleton2

private

static singleton2 instance;

public

static singleton2 getinstance()

return instance;}}

//懶漢 加了鎖線程安全

class

singleton3

private

static singleton3 instance;

public

static singleton3 getinstance()

}}return instance;

}}

//靜態內部類 執行緒安全

class

singleton4

private

static

class

singletonholder

public

static singleton4 getinstance()

}

餓漢式缺點:物件載入時間過長。

餓漢式優點:是執行緒安全的。

懶漢式缺點:執行緒不安全。

懶漢式優點:延遲物件的建立。

設計模式 二 單例模式

建立乙個物件並不難,但當我們不得不為每新新增一種抽象類或介面而到處修改客戶 時,就不得不思考直接使用new建立物件帶來的高耦合。建立型別的模式將使用物件和 例項化物件 進行了分離。建立型別模式包括 單例模式 工廠方法模式 原型模式。下面先看單例模式 單例模式 保證乙個類在系統裡只有乙個例項化物件。應...

設計模式(二) 單例模式

單例模式 用來建立只能有乙個例項的物件。確保乙個類只有乙個例項,並提供乙個全域性訪問點。有的時候我們不希望乙個類被建立出多個物件,因為多個例項會帶來許多不好的影響。經典單例模式 public class singleinstance public static singleinstance geti...

設計模式(二)單例模式

單例模式 保證只有乙個物件,每次獲取物件獲取到的都是同乙個物件。單例模式是我們程式中最常見的設計模式,很多任務具類都設計成單例模式,spring中的bean也有單例,單他不是真正的單例。單例模式總結下來有幾種寫法,他們共性就是私有的構造方法。package com.designpattern.sin...