靜態內部類實現的單例模式如下:
public class singleton
public static singleton getinstance()
private static class singletonholder
//當第一次載入singleton類時並不會初始化sinstance,只有在第一次呼叫singleton的getinstance方法時才會導致sinstance被初始化。
//因此第一次呼叫getinstance方法會導致虛擬機器載入singletonholder類,
//這種方式不僅能夠確保執行緒安全,也能保證單例物件的唯一性,同時延遲了單例的例項化。
//這種方式不僅能夠確保執行緒安全
//原因:虛擬機會保證乙個類的構造器()方法在多執行緒環境中被正確地載入,同步,如果多個執行緒同時去初始化乙個類,那麼只有乙個執行緒去執行這個類的
//構造器()方法,其他執行緒都需要阻塞等待,直到活動執行緒執行()方法完畢。
靜態內部類實現單例模式
new b.c b b new b b.c c b.new c public class singleton public synchronized static singleton getinstance return instance public static singleton getins...
單例模式 靜態內部類
靜態內部類是乙個很好的實現單例的方式 看 package cn.liz.syn public class staticinner 私有的靜態內部類 private static class inner 公共的 獲取例項的方法 public static staticinner getinstance...
單例模式 靜態內部類
1 2 單例模式 靜態內部類3 4public class singletontest0711 1213 14 靜態內部類實現方式 15 16class singleton 2324 25 2.寫乙個靜態內部類,直接返回singleton 26 27private static class sing...