設計模式-單例模式之餓漢式-多執行緒
單例設計模式概述:
單例模式就是要確保類在記憶體中只有一個物件,該例項必須自動建立,並且對外提供。
優點:
在系統記憶體中只存在一個物件,因此可以節約系統資源,對於一些需要頻繁建立和銷燬的物件
單例模式無疑可以提高系統的效能。
缺點:
沒有抽象層,因此擴充套件很難。
職責過重,在一定程式上違背了單一職責。
package cn.itcast_03;
public class Student {
// 構造私有,目的不讓外界建立物件
private Student() {
}
// 自己造一個
// 靜態方法只能訪問靜態成員變數,加靜態
// 為了不讓外界直接訪問修改這個值,加private
private static Student s = new Student();
// 提供公共的訪問方式
// 為了保證外界能夠直接使用該方法,加靜態
public static Student getStudent() {
return s;
}
}
package cn.itcast_03;
/*
* 單例模式:保證類在記憶體中只有一個物件。
*
* 如何保證類在記憶體中只有一個物件呢?
* A:把構造方法私有
* B:在成員位置自己建立一個物件
* C:通過一個公共的方法提供訪問
*/
public class StudentDemo {
public static void main(String[] args) {
// Student s1 = new Student();
// Student s2 = new Student();
// System.out.println(s1 == s2); // false
// 通過單例如何得到物件呢?
// Student.s = null;不能讓外界改這個值
Student s1 = Student.getStudent();
Student s2 = Student.getStudent();
System.out.println(s1 == s2); // true
//System.out.println(s1); // null,cn.itcast_03.Student@175078b
//System.out.println(s2); // null,cn.itcast_03.Student@175078b
}
}
相關文章
- 設計模式-單例模式之懶漢式-多執行緒設計模式單例執行緒
- (單例設計模式中)懶漢式與餓漢式在多執行緒中的不同單例設計模式執行緒
- 設計模式:單例模式 (關於餓漢式和懶漢式)設計模式單例
- 設計模式——懶漢式單例類PK餓漢式單例類設計模式單例
- 設計模式之單例模式(執行緒安全)設計模式單例執行緒
- 【java】單例設計模式——餓漢式和懶漢式、Runtime、TimerJava單例設計模式
- java單例模式懶漢和餓漢Java單例模式
- 詳談單例、餓漢、和懶漢模式單例模式
- 多執行緒設計模式之Worker Thread模式執行緒設計模式thread
- JAVA_多執行緒_單例模式Java執行緒單例模式
- scala:分別使用懶漢式和餓漢式實現單例模式單例模式
- Java多執行緒程式設計筆記10:單例模式Java執行緒程式設計筆記單例模式
- java 多執行緒設計模式之futureJava執行緒設計模式
- Future --- 多執行緒設計模式執行緒設計模式
- java設計模式之單例模式你真的會了嗎?(懶漢式篇)Java設計模式單例
- 懶漢模式和餓漢模式模式
- Unity3d遊戲開發之-單例設計模式-單例模式二:多執行緒二(雙重鎖定)Unity3D遊戲開發單例設計模式執行緒
- 設計模式:單例模式介紹及8種寫法(餓漢式、懶漢式、Double-Check、靜態內部類、列舉)設計模式單例
- Java 多執行緒設計模式之基礎概念Java執行緒設計模式
- 【設計模式】實現執行緒安全單例模式的五種方式設計模式執行緒單例
- Java多執行緒設計模式(1)Java執行緒設計模式
- synchronized 同步執行緒 單例設計模式+double checkingsynchronized執行緒單例設計模式
- 設計模式之☞單例模式設計模式單例
- 設計模式之單例模式設計模式單例
- 設計模式之---單例模式設計模式單例
- 設計模式之單例設計模式設計模式單例
- 執行緒安全的單例模式執行緒單例模式
- C#單例—餓漢式和懶漢式C#單例
- PHP 設計模式之單例模式PHP設計模式單例
- Javascript 設計模式之單例模式JavaScript設計模式單例
- Javascript設計模式之單例模式JavaScript設計模式單例
- js設計模式之單例模式JS設計模式單例
- PHP 設計模式之——單例模式PHP設計模式單例
- 01 設計模式之單例模式設計模式單例
- 設計模式(一)之單例模式設計模式單例
- golang設計模式之單例模式Golang設計模式單例
- PHP設計模式之單例模式PHP設計模式單例
- Java設計模式之單例模式Java設計模式單例