Java的單例設計模式

2021-07-10 06:10:24 字數 1038 閱讀 6388

什麼是單例設計模式?

單例模式是一種常用的軟體設計模式。在它的核心結構中只包含乙個被稱為單例的特殊類。通過單例模式可以保證系統中乙個類只有乙個例項而且該例項易於外界訪問,從而方便對例項個數的控制並節約系統資源。如果希望在系統中某個類的物件只能存在乙個,單例模式是最好的解決方案。

為了保證物件在記憶體中的唯一性,即只能建立乙個物件,因此使用單例設計模式。簡單來說就是要求不能建立多個物件。我的理解是在特定的需求下,這種情況較為多見,其他的解決方式顯得非常的複雜,單例設計模式是最簡單最高效的解決方式。

方法分為3個主要的步驟:

1.將建構函式私有化

2.在類中建立乙個本類物件

3.提供乙個方法可以獲取物件

有兩種方式實現單例設計模式:

舉乙個簡單的**例子:

方法1:這種方法被稱作:餓漢式

class main{}

class student()

public static student getstudent()

public void setage(int age)

public int getage()

}

注意:呼叫函式有兩種方法。乙個是new乙個物件,進行例項化,物件點上方法完成呼叫

另乙個是直接用類名點上函式進行呼叫,這種方法必須要求函式是static的,同時該函式中使用的變數也必須都是static的

方法2:物件的延遲載入,這種方法被稱作:懶漢式

class main{}

class student()

public static student getstudent()

public void setage(int age)

public int getage()

}

這兩種方法各有特點,說不上好與壞,懶漢式是用時間換空間,餓漢式是空間換時間

通過**明顯可以看出餓漢式是一開始就建立好了物件,直接進行返回即可,但是餓漢式是呼叫的時候才進行建立,這是二者的主要區別。

java設計模式 單例設計模式

public class main 餓漢式 空間換時間 多執行緒訪問不會建立多個物件 author admin class singleton 2建立本類物件 private static singleton s new singleton 3對外提供公共的訪問方法 public static si...

Java單例設計模式

單例設計模式也有人叫單態,基本上有兩種寫法一種是餓漢式,另外一種是懶漢式。餓漢式就是一開始就建立了例項物件 public class singleton public static singleton getintance 懶漢式是需要的時候才建立 它比較懶 而且會涉及執行緒同步問題,需要增加同步 ...

java 單例設計模式

單例設計模式 保證乙個類在記憶體中只有乙個物件。模式 模式就是解決 一類 問題的固定步驟 模式的概念最早起源於建築行業 建房子的步驟都是一樣子 打地基 澆柱子 蓋樓面 砌牆 封頂 裝修 入住軟體行業中23種設計模式 單例設計模式 模板設計模式 裝飾者設計模式 觀察者設計模式 工廠設計模式單例設計模式...