設計模式三:單例模式
阿新 • • 發佈:2022-02-12
某個類的例項在 多執行緒環境下只會被建立一次出來。
1、概述
某個類的例項在 多執行緒環境下只會被建立一次出來。
單例模式有餓漢式單例模式、懶漢式單例模式;懶漢式如果多人同時呼叫,容易建立多個物件,有執行緒安全所以使用synchronized
2、應用場景
spring的 ioc思想中將物件建立並放入map容器中,用的就是單例模式。用的時候從map容器中取出使用即可。
3、示例
3.1、餓漢模式
public class Singleton{ private static Singleton instance = new Singleton(); private Singleton(){} public static Singleton getInstance(){ return instance; } }
3.2、懶漢模式
public class Singleton{ private static Singleton instance; private Singleton(){} //這裡需要加 執行緒同步。如果多個人同時呼叫,很容易建立多個物件 public static synchronized Singleton getInstance(){ if(instance == null){ instance = new Singleton(); } return instance; } }