這篇文章主要介紹了java 單例模式的相關資料,這裡對懶漢式與餓漢式都做了實例介紹,需要的朋友可以參考下
java 單例模式
單例模式是一種常用的軟體設計模式。在它的可信結構中只包含一個被實例化單例的特殊類別。透過單例設計模式可以把整系統中的一個類別只有一個實例。
單例設計模式又分為兩種方式,懶漢式和餓漢式。
(1)懶漢式,就是只有當調用getInstance的時候,才會初始化這個單例。
(2)餓漢式,就是一旦載入好類,就把單例初始化完成。也就是呼叫getInstance的時候,單例就已經存在了。
程式碼如下:
懶漢式單例
/** * Description: * 一、设计了一个懒汉式单例 * * @author lee * */ public class SingleMode { public static SingleMode s = null; /** * Description: * 私有化构造函数 * * */ private SingleMode(){} /** * Description: * 提供一个方法来获取该单例 * * @return s 返回一个单例 * */ public static SingleMode getInstance(){ //保证了线程安全,又减轻了资源加载和性能上的负担 //即是在创建一次对象后,不再需要线程锁了。 if(s==null){ synchronized(""){ if(s==null){ s = new SingleMode(); } } } return s; } }
>餓漢式單例
/** * Description: * 二、设计了一个饿汉式单例 * * @author lee * */ class SingleMode1{ public static final SingleMode1 s = new SingleMode1(); /** * Description: * 私有化构造函数 * * */ private SingleMode1(){} /** * Description: * 提供一个方法来获取该单例 * * @return s 返回一个单例 * */ public static SingleMode1 getInstance(){ return s; } }
以上是Java中單例模式關於懶漢式以及餓漢式具體分析的詳細內容。更多資訊請關注PHP中文網其他相關文章!