(1)懒汉式:对象在方法中,第一次调用时创建对象,线程不安全的
public class Singleton {
//外部不可以创建对象,就要在内部创建一个对象,还能够在外部获取
private static Singleton singleton = null;
private Singleton() {}
//获取实例
public static Singleton getInstance() {
//如果为空,则创建一个并赋给singleton
if(singleton == null) {
singleton = new Singleton();
}
//返回singleton
return singleton;
}
}
(2)饿汉式:对象的创建在类加载时,线程安全的
//单例模式
public class Singleton {
//赋值是在类加载时完成的
private static Singleton singleton = new Singleton();
private Singleton() {}
public static Singleton getInstance() {
return singleton;
}
}