餓漢式:類載入後初始化乙個例項
/**
* 餓漢式
* 缺點:用不用這個物件都會被例項。
* * 單例模式
*/public
class
mgr01
public
static mgr01 getinstance()
}
懶漢式:用到時在載入
/**
* lazy loading
* 懶漢式
* 可以加synchronized來解決執行緒安全問題,但是會影響效率。
*/public
class
mgr02
/** * 不安全
* @return
*/// public static mgr02 getinstance()
// return instance;
// }
/** * 安全,效率低
** @return
*/// public static synchronized mgr02 getinstance()
// return instance;
// }
/** * 安全,效率較高
** @return
*/public
static mgr02 getinstance()
}}return instance;
}}
靜態內部類的方式實現單例模式
public
class
mgr03
/** * jvm虛擬機器載入class檔案保證只載入一次。
*/private
static
class
mgr03holder
public
static mgr03 getinstance()
}
最完美的單例模式,列舉單例
/**
* 不僅解決執行緒安全問題,還防止反序列化
* 列舉類沒有構造方法
*/public
enum mgr04
設計模式之單例模式
前一段時間買了一本秦小波寫的 設計模式之禪 網上對這書的評價很高。現在還沒有看很多,但是有些地方頗有感觸,也並不是所有的地方都能看懂,但是會慢慢研究的。自己對於設計模式的感覺就是乙個字 牛!感覺會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...