單例模式 確保乙個類只有乙個例項,並提供乙個全域性訪問點.
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.如何實現單例 單例的實現方式有 餓漢單例設計模式 通過類...