国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

Java設計模式-單類模式

2019-11-06 07:02:45
字體:
來源:轉載
供稿:網友

單類模式:即保證一個類只有一個實類

那么Singleton:負責創建Singleton類自己的唯一實例,并提供一個getInstance的方法,讓外部來訪問這個類的唯一實例。

餓漢式:  PRivate static Singleton uniqueInstance = newSingleton(); 

懶漢式  private static Singleton uniqueInstance = null; 

 

假設在古代的時候,一般真正在在的皇帝只有一個,即創建皇帝的實類就只能是同一個,即單類模式

懶漢式:

餓漢式

 

單例模式是用來保證這個類在運行期間只會被創建一個類實例,另外,單例模式還提供了一個全局唯一訪問這個類實例的訪問點,就是getInstance方法。

java里面實現的單例是一個虛擬機的范圍。因為裝載類的功能是虛擬機的,所以一個虛擬機在通過自己的ClassLoader裝載餓漢式實現單例類的時候就會創建一個類的實例。

懶漢式單例有延遲加載和緩存的思想

優缺點

懶漢式是典型的時間換空間 餓漢式是典型的空間換時間不加同步的懶漢式是線程不安全的。比如,有兩個線程,一個是線程A,一個是線程B,它們同時調用getInstance方法,就可能導致并發問題。 餓漢式是線程安全的,因為虛擬機保證只會裝載一次,在裝載類的時候是不會發生并發的。

其實單類模式的本質是為了控制實類的對象

何時選用單例模式

當需要控制一個類的實例只能有一個,而且客戶只能從一個全局訪問點訪問它時,可以選用單例模式,這些功能恰好是單例模式要解決的問題。

 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 连云港市| 绥化市| 长乐市| 光山县| 北川| 阿拉善右旗| 星子县| 济南市| 江都市| 焉耆| 青阳县| 白山市| 册亨县| 安国市| 平江县| 离岛区| 苏尼特左旗| 吕梁市| 寻乌县| 哈尔滨市| 通州区| 平泉县| 绍兴县| 濉溪县| 绥芬河市| 怀柔区| 宜都市| 石屏县| 延津县| 鞍山市| 宽甸| 武强县| 巩留县| 平罗县| 淮滨县| 马山县| 巨野县| 托里县| 镇宁| 安平县| 昔阳县|