java單例設計模式

2021-09-11 16:01:44 字數 1203 閱讀 1449

開發人員在研究中總結的一些套路,用於解決一些問題。

其實就是保證只能建立出乙個例項

分類

懶漢式單例

懶漢式單例是將類的構造方法私有化,定義乙個靜態屬性,定義乙個靜態方法在靜態方法中建立乙個例項物件並返回,完成對類的單例操作。

1、私有化構造方法

private student()

2、定義乙個靜態的本類屬性

static修飾的屬性在記憶體中只會存乙份

static屬性會在類載入後第一時間初始化

private static student s;

3、提供乙個靜態方法,返回唯一的例項

public static student getinstance()

return s;

}

餓漢式單例

建立例項比較早,類一載入就立即建立了例項,不會等到調方法獲取。 建立例項比較早,類一載入就立即建立了例項,不會等到調方法獲取。

1、私有化構造方法

private student() {}

2、定義乙個靜態的本類屬性

//static修飾的屬性在記憶體中只會存乙份

//static屬性會在類載入後第一時間初始化

private static student s = new student();

3、提供乙個靜態方法,返回唯一的例項

public static student getinstance()

兩者區別

乙個是建立好等你使用,乙個是等你使用才建立

乙個是執行緒安全,乙個不安全

懶漢式單例解決方法

使用synchronize同步鎖可以保證執行緒安全

public synchronized static student getinstance()

return s;

}

使用雙重鎖(雙重判定鎖)可以只鎖幾行**,提公升效能

.

public static student getinstance() }}

return s;

}

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種設計模式 單例設計模式 模板設計模式 裝飾者設計模式 觀察者設計模式 工廠設計模式單例設計模式...