設計模式 1 單例模式

2022-09-05 03:33:07 字數 1083 閱讀 1537

簡介:這些類無論例項化多少都是一樣的; 這些類在整個應用中同一時刻只有乙個狀態

目的:節省記憶體,減少gc消耗

總結:整個系統中只有乙個例項存在

標準單例模式:

public

class

persion;

public

static

persion getinstance()

private

static

class

persionsingleton

}

標準單例模式優點:

1,persion只有乙個例項

2,不會因併發產生多個例項

3,不會因jvm調優,出現還未正確初始化的例項

jvm建立物件步驟:

1,分配記憶體 //new

2,初始化構造器 //persion()

3,將物件指向已分配的記憶體位址 //persion persion =

反例1:

public

class

singleton;

public

singleton getinstance()

return

singleton;

}}

反例2:

public

class

singleton;

public

singleton getinstance() //

因為第二個執行緒可能會使用到還沒有完全建立好的例項(jvm內部調優會出現位址已分配但沒有初始化的情況)

}

}return

singleton;

}}

設計模式1 單例模式

文章引用出處 singleton模式是最簡單最常用的設計模式。1,定義 確保某個類只有乙個例項,而且自行例項化並向整個系統提供這個該類。2,單例模式優點 1 單例模式在記憶體中只有乙個例項,減少了記憶體的開支。2 單例模式只生成乙個例項模式,減少了系統效能的開銷。如當乙個物件的產生需要比較多的系統資...

設計模式1 單例模式

單例模式,利用工廠類只生產乙個例項或者有限個例項,比如乙個系統中只有乙個主機板,乙個顯示卡,但是有些系統中也可以存在多個,雙顯示卡,雙顯示器等等。這些在singleton module中都是可以定義的。當然我們也可以使用全域性的變數或者靜態類或者物件去做,但是單例模式的存在是有其優點的。public...

設計模式1 單例模式

保證乙個類只有乙個例項 即乙個物件,並且提供乙個訪問該例項的全域性訪問點 即類中有乙個公共的方法 方法的返回該類的物件。1.windows的任務管理器 無論開啟多少次都只能開啟乙個視窗 2.windows的 站 3.專案中的配置檔案 4.的計數器 5.日誌 6.連線池 8.spring的bean 預...