單例模式主要作用是保證在Java應用程序中,一個類只有一個實例存在。它的具體形式有如下兩種:
第一種:
1
public class Singleton {
2
private static Singleton instance = new Singleton();//只有在類加載時進行一次初如化賦值
3
private Singleton(){}//采用私有的構造方法,使得外部不能構造新的實例
4
public static Singleton getInstance(){//采用static修飾,說明該方法不需先創建實例而直接調用
5
return instance;
6
}
7
}
第二種:
2

3

4

5

6

7

1
public class Singleton {
2
private static Singleton instance = null;//只有在類加載時進行一次初如化賦值
3
public static synchronized Singleton getInstance(){//采用static修飾,說明該方法不需先創建實例而直接調用
4
//這個方法是線程同步的
5
if(instance==null){
6
instance = new Singleton();
7
}
8
return instance;
9
}
10
}
一般認為第一種形式更加安全些。

2

3

4

5

6

7

8

9

10
