1.饿汉单例模式
在装载该单例类的时候就会创建类实例,实例代码如下所示:
public class Singleton {
private static Singleton instance = new Singleton();
private Singleton() {
}
public static Singleton getInstance() {
return instance;
}
}
2.懒汉单例模式
(延迟加载思想)这一思想的核心在于直到需要使用某些资源或数据时再去加载该资源或获取该数据,这样可以尽可能地节省使用前的内存空间,一般推荐的单例模式都是懒汉模式。
public class Singleton {
private static Singleton instance = null;
private Singleton() {
}
public static Singleton getInstance() {
// 如果instance未被初始化,则初始化该类实例
if (instance == null) {
instance = new Singleton();
}
return instance;
}
}
3.线程安全的懒汉单例模式
public class Singleton {
private static Singleton instance = null;
private Singleton() {
}
public st