設計模式之單例模式

2021-10-08 19:14:32 字數 903 閱讀 1431

使用場景:需要頻繁的進行建立和銷毀的物件,建立物件耗時較多或耗費資源過多(重量級物件),經常用到的物件,工具類物件,訪問資料庫或者檔案物件(比如資料來源,session工廠等)。

1.餓漢式

如果可以確定肯定會使用的話,也可以使用,懶漢式容易出問題不太推薦。

class singleton

private final static singleton instance=new singleton();

public static singleton getinstance()

}

class singleton

static

private static singleton instance;

public static singleton getinstance()

}

2.dcl

class singleton 

public static singleton getinstance() }}

return instance;

}}

3.靜態內部類

//靜態內部類推薦使用,運用jvm底層類裝載的機制,保證執行緒安全

class singleton

private static class singletoninstance

public static singleton getinstance()

}

4.列舉

public class singletontest 

}//列舉實現單例推薦使用

enum singleton

設計模式之單例模式

前一段時間買了一本秦小波寫的 設計模式之禪 網上對這書的評價很高。現在還沒有看很多,但是有些地方頗有感觸,也並不是所有的地方都能看懂,但是會慢慢研究的。自己對於設計模式的感覺就是乙個字 牛!感覺會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...