單例模式:
簡單理解:此類使用單例,全域性都可呼叫此類
官方解釋:單例模式確保乙個類,只有乙個例項,自行提供例項並向整個系統提供這個例項、
特點 :1.乙個類只能有乙個例項
2.自己建立這個例項
3.整個系統都要使用這個例項
拿幾個例子解釋吧:
windows裡面的 **站 整個系統都使用這個唯一的例項,而且**站自定提供自己的例項。
看看 我寫的這個單例模式吧
publicsynchronized
static coolweather getinstance(context context)
return cooweatherdb; }
回到正題:
單例有兩種經常用:
1,餓漢式單例類
public
class
singleton
//在自己內部定義自己乙個例項,是不是很奇怪?
//注意這是private 只供內部呼叫
private
static
singleton instance =
new
singleton();
//這裡提供了乙個供外部訪問本class的靜態方法,可以直接訪問
public
static
singleton getinstance()
}
2,懶漢式單例類
public
class
singleton
}
第二中形式是lazy initialization,也就是說第一次呼叫時初始singleton,以後就不用再生成了。
注意到lazy initialization形式中的synchronized,這個synchronized很重要,如果沒有synchronized,那麼使用getinstance()是有可能得到多個singleton例項。
一般來說第一種比較安全
public class titlemanager
public static titlemanager getinstance()
呼叫的時候 直接 方法名.getinstance 即可
titlemanager manager = titlemanager.getinstance();
手把手教你用CAB發布OCX的簡單辦法
cab是一種檔案壓縮格式,把ocx檔案 activex外掛程式 壓縮成cab檔案是為了發布它,這種發布方式給人感覺 瀏覽器會自動安裝該外掛程式 很多朋友鍾情於此。目前流行很多壓縮工具,但winrar這類工具生成的cab檔案瀏覽器無法識別。經過試用,發現用windows系統檔案cabarc來製作cab...
手把手教你用CAB發布OCX的簡單辦法
cab是一種檔案壓縮格式,把ocx檔案 activex外掛程式 壓縮成cab檔案是為了發布它,這種發布方式給人感覺 瀏覽器會自動安裝該外掛程式 很多朋友鍾情於此。目前流行很多壓縮工具,但winrar這類工具生成的cab檔案瀏覽器無法識別。經過試用,發現用windows系統檔案cabarc來製作cab...
手把手教你用CAB發布OCX的簡單辦法
cab是一種檔案壓縮格式,把ocx檔案 activex外掛程式 壓縮成cab檔案是為了發布它,這種發布方式給人感覺 瀏覽器會自動安裝該外掛程式 很多朋友鍾情於此。目前流行很多壓縮工具,但winrar這類工具生成的cab檔案瀏覽器無法識別。經過試用,發現用windows系統檔案cabarc來製作cab...