单例模式就是一个计划生育模式,为的就是让该类只能存在一个实例。
示例代码:
public class SingletonMode {
private static SingletonMode singletonMode = null;
public static SingletonMode getSingletonModa() {
if (singletonMode == null) {
singletonMode = new SingletonMode();
}
return singletonMode;
}
private SingletonMode() {
}
}
上面就是一个简单的单例模式,但我们还需要考虑一个情况,就是在有多个线程访问的情况下的单例模式,这个时候就可以加上锁来保证其他线程的访问不会使得这个单例出现了多个实例情况。
在多线程环境下的单例代码:
public class SingletonMode {
private static SingletonMode singletonMode = null;
public static SingletonMode getSingletonModa() {
if (singletonMode == null) {
synchronized (SingletonMode.class) {
singletonMode = new SingletonMode();
}
}
return singletonMode;
}
private SingletonMode() {
}
}