hand first 設計模式 單例模式

2021-08-30 02:56:13 字數 851 閱讀 5254

單例模式 確保乙個類只有乙個例項,並提供乙個全域性訪問點.

public class test 

public static test getinstance()

return test;

}}

上面單例模式**,採用延遲載入,在需要的時候再生成例項.但是多執行緒的情況可能會產生去多個例項.

//多執行緒同時訪問下面**.會產生多個例項

public static test getinstance()

return test;

}

同步單例模式

public class test 

public synchronized static test getinstance()

return test;

}}

上面同步單例模式**,可以防止多執行緒下產生多個例項,但是同步這個方法會讓程式執行效能下降.

雙重加鎖單例模式

public class test 

public static test getinstance() }}

return test;

}}

急切例項化單例模式

public class test 

public static test getinstance()

}

上面急切例項化單例模式,不同的類載入器,可能會產生多個例項.需要時指定類載入器.

hand first 設計模式 工廠模式

工廠模式定義,建立乙個物件介面,但由子類決定要例項化的類是哪乙個.工廠方法讓類把例項化推遲到子類.抽象的比薩商品類 public abstract class piazzstore 讓子類去實現 public abstract piazz createpiazz string name 中國比薩商店...

hand first 設計模式 命令模式

命令模式 將請求封閉成物件,這可以讓你使用不同的請求,佇列.或者日誌請求來引數化其他物件.命令模式式可支援撤銷技術操作.例項需求 命令介面 public inte ce command 開關介面 public inte ce switch 例項燈public class light implemen...

單例設計模式(餓漢單例設計模式 懶漢單例設計模式)

1.什麼是單例 單例的意思是乙個類永遠只存在乙個物件,不能建立多個物件。2.為什麼要用單例 開發中有很多的物件我們只需要乙個,例如虛擬機器物件,任務管理器物件 物件越多越佔記憶體,有時候只需要乙個物件就可以實現業務,單例可以節省記憶體空間。3.如何實現單例 單例的實現方式有 餓漢單例設計模式 通過類...