一、整体代码
Singleton.java
public class Singleton {
private static Singleton uniqueInstance; // other useful instance variables here private Singleton() {} public static synchronized Singleton getInstance() {
if (uniqueInstance == null) {
uniqueInstance = new Singleton();
}
return uniqueInstance;
} // other useful methods here
}
Singleton.java
public class Singleton {
private static Singleton uniqueInstance = new Singleton();; // other useful instance variables here private Singleton() {} public static Singleton getInstance() {
return uniqueInstance;
} // other useful methods here
}
二、解析
1、第一种单件模式,在多线程时需要同步,造成了额外开销。
2、第二种不用同步。