单例模式分懒汉式、饿汉式,是在有关JAVA语言使用中,是特别常用的设计模式,但是得考虑线程问题。
基本实现思路
1、构造函数私有化
2、提供一个静态类,允许调用
记录如下几种写法方式:
1、懒汉式 – 这种是最常用的(线程安全):
public class SingleClass {
private static SingleClass instance;
private SingleClass(){}
public static SingleClass getInstance(){
if(instance == null){
synchronized (SingleClass.class){
if(instance == null){
instance = new SingleClass();
}
}
}
return instance;
}
}
2、静态内部类(线程安全)
public class SingleClass {
private static SingleClass instance;
private SingleClass(){}
public static SingleClass getInstance(){
return SingleClassHolder.INSTANCE;
}
private static class SingleClassHolder {
private static final SingleClass INSTANCE = new SingleClass();
}
}