package singleton;
public class Singleton {
//将构造函数写成私有,防止外部通过 new关键字来创建对象
private Singleton(){
}
//定义变量来保存实例
private static Singleton instance;
//防止多线程 来同时创建变量
//此处必须有:synchronized因为,实例被保存在共享静态块中会有线程安全的问题
public synchronized static Singleton getInstance(){
if(instance == null){
//通过new 关键字还有可能有进一步的异常处理,日志,安全,验证等的一些问题
instance = new Singleton();
}
return instance;
}
}
public class Singleton {
//将构造函数写成私有,防止外部通过 new关键字来创建对象
private Singleton(){
}
//定义变量来保存实例
private static Singleton instance;
//防止多线程 来同时创建变量
//此处必须有:synchronized因为,实例被保存在共享静态块中会有线程安全的问题
public synchronized static Singleton getInstance(){
if(instance == null){
//通过new 关键字还有可能有进一步的异常处理,日志,安全,验证等的一些问题
instance = new Singleton();
}
return instance;
}
}