Java中的幾種單例寫法

2021-09-16 14:15:39 字數 1359 閱讀 5231

一、餓漢式非執行緒安全

public class singletondemo1

public static singletondemo1 getinstance()

二、懶漢式非執行緒安全

public class singletondemo2

public static singletondemo2 getinstance()

}}

三、執行緒安全且效率快,雙重檢查

public class singletondemo3

public static singletondemo3 getinstance()

}}}

四、靜態內部類方式

public class singletondemo4

private static class singletoninstance

public static singletondemo4 getinstance()

}

靜態內部類一些特性介紹:

1.靜態內部是在外部類首次載入的時候就已經存在的。

2.靜態內部類只能訪問外部類的靜態變數。

3.外部類呼叫靜態內部類的靜態方法時無需建立物件。

4.若需呼叫靜態內部類非靜態方法時,需建立靜態內部類物件。

5.建立靜態內部類物件時,可直接通過外部類來建立。

public class staticinternalclassdemo 

//內部類非靜態方法

public void method()

} public static void main(string args)

}

普通內部類一些特性介紹:

1.可訪問外部類所有成員變數以及方法。

2.不可定義靜態變數以及靜態方法。

3.使用外部類來建立內部類物件時,需要先建立外部類物件。

public class internalclassdemo 

private static void outclassstaticmethod()

private class internalclass

//編譯報錯,不可定義靜態方法

/* private static void staticmethod()*/

} public static void main(string args)

}

五、列舉方式

public enum singletondemo5 

}

java中幾種單例寫法

方法一 餓漢式 優點 執行緒安全 缺點 效率低。public class singleton 加static和final private static final singleton instance new singleton public static singleton getinstance...

java單例模式的幾種寫法

private static final userservice userservice new userservice private userservice 採取預載入的方式,userservice在 classloader 載入userservice.class 已經宣告了物件 return ...

單例模式幾種寫法

1.餓漢式 public class singleton public static singleton getinstance 2.懶漢式 public class singleton 雙層檢測鎖 public static singleton getinstance return instanc...