設計模式之單例模式

2021-08-19 15:18:30 字數 1367 閱讀 3284

(1)    單例模式

保證每個類只有乙個例項,提供乙個全域性訪問點。

主要使用的單利模式有兩種懶漢式和餓漢式

/**

* 餓漢式設計模式

*/public class singleton

//類載入的時候進進行了物件的建立,所以該方式是執行緒安全的

private static final singleton instace

=new singleton();

public static singleton getinstace()

}

/**

* 懶漢式設計模式

*/public class singleton1

private static singleton1 instance

=null;

public static singleton1 getinstace()

return

instance;}

}

懶漢式有以下三種解決多執行緒問題方法

/**

* 懶漢式設計模式

* 該方式解決了多執行緒問題,但是並不高效,在任何時候只有乙個執行緒可以使用該例項

*/public class singleton1

private static singleton1 instance

=null;

public static synchronized singleton1 getinstace()

return

instance;}

}/**

* 懶漢式設計模式

* 雙重鎖檢驗

*/public class singleton1

private static volatile singleton1 instance

=null;

//保證了變數的可見性,並且不被虛擬機器進行優化

public static synchronized singleton1 getinstace()}}

return

instance;}

}/**

* 懶漢式設計模式

* 使用靜態內部類實現

* 這種寫法保證了執行緒安全問題,該內部類是私有的,只有載入的時候才會建立物件,同時讀取例項的時候不會有效能缺陷

*/public class singleton1

private

singleton1(){}

public static final singleton1 getinstance()

}

設計模式之單例模式

前一段時間買了一本秦小波寫的 設計模式之禪 網上對這書的評價很高。現在還沒有看很多,但是有些地方頗有感觸,也並不是所有的地方都能看懂,但是會慢慢研究的。自己對於設計模式的感覺就是乙個字 牛!感覺會23種設計模式並且會熟練運用的人,真的就是大師級的牛人了,設計模式是乙個專案主管或者架構師一定要會的東西...

設計模式之單例模式

package com.xie.singleton public class singleton 提供乙個共有的靜態的入口方法 public static singleton getinstance 懶漢式 延遲載入 提供乙個私有的靜態的成員變數,但不做初始化 private static sing...

設計模式之 單例模式

單例模式 singleton 保證乙個類僅有乙個例項,並提供乙個訪問它的全域性訪問點。單例模式 單件模式 使用方法返回唯一的例項 public class singleton private static singleton instance public static singleton geti...