1.單例模式簡介
1.1 什麼是設計模式?
設計模式是一套被反覆使用、多數人知曉的、經過分類編目的、代碼設計經驗的總結。
使用設計模式是爲了可重用代碼、讓代碼更容易被他人理解、保證代碼可靠性。
2 單例模式的實現
(1)package com.imooc.SingletonPractice; /** * 單例模式Singleton * 應用場合:有些對象只需要一個就足夠了,如古代皇帝、老婆 * 作用:保證整個應用程序中某個實例有且只有一個 * 類型:餓漢模式 */ public class Singleton { //1.將構造方法私有化,不允許外部直接創建對象 private Singleton(){ } //2.創建類的唯一實例 private static Singleton instance = new Singleton(); //3.提供一個用於獲取實例的方法 public static Singleton getInstance(){ return instance; } }
(2)package com.imooc.SingletonPractice; /** * 懶漢模式 */ public class Singleton2 { //1.將構造方式私有化,不允許外邊直接創建對象 private Singleton2(){ } //2.創建類的唯一實例,使用private static修飾 private static Singleton2 instance; //3.提供一個用於獲取實例的方法,使用public static修飾 public static Singleton2 getInstance(){ if(instance == null){ instance = new Singleton2(); } return instance; } }
3 餓漢模式與懶漢模式的區別
區別:餓漢模式的特點是加載時比較慢,但運行時獲取對象的速度比較快,線程安全。
懶漢模式的特點是加載類時比較快,但運行時獲取對象的速度比較慢,線程不安全。