1
2
3
4 /**
5 * java中實現(xiàn)單例的最好的方法,既保證了延遲加載,又保證了線程安全
6 * @author wolf
7 *
8 */
9 public class Singleton {
10 /**
11 * 類級的內(nèi)部類,也就是靜態(tài)的成員式內(nèi)部類,該類內(nèi)部的實例與外部的實例
12 * 沒有綁定關(guān)系,而且只有被調(diào)用到時才會裝載,從而實現(xiàn)了延遲加載
13 */
14
15 private static class SingletonHolder{
16 /**
17 * 靜態(tài)初始化器,由JVM來保證線程安全
18 */
19
20 private static Singleton instance = new Singleton();
21 }
22
23 private Singleton(){
24
25 }
26
27 public static Singleton getInstance(){
28 return SingletonHolder.instance;
29 }
30 }
31
2
3
4 /**
5 * java中實現(xiàn)單例的最好的方法,既保證了延遲加載,又保證了線程安全
6 * @author wolf
7 *
8 */
9 public class Singleton {
10 /**
11 * 類級的內(nèi)部類,也就是靜態(tài)的成員式內(nèi)部類,該類內(nèi)部的實例與外部的實例
12 * 沒有綁定關(guān)系,而且只有被調(diào)用到時才會裝載,從而實現(xiàn)了延遲加載
13 */
14
15 private static class SingletonHolder{
16 /**
17 * 靜態(tài)初始化器,由JVM來保證線程安全
18 */
19
20 private static Singleton instance = new Singleton();
21 }
22
23 private Singleton(){
24
25 }
26
27 public static Singleton getInstance(){
28 return SingletonHolder.instance;
29 }
30 }
31