单例模式
单例模式(Singleton Pattern)的主要目的是确保一个类只有一个实例,并提供一个全局访问点来访问该实例。
在 Java 中,实现单例模式的方式有几种常见的方式
懒汉式
public class Singleton{private static final Singleton instance = null;private Singleton(){}public static synchronized Singleton getInstance(){if(instance == null){instance == new Singleton();}return instance;}
}
懒汉式+双重检查
public class Singleton{// volatile 保证多线程的修改后的可见性private static final volatile Singleton instance = null;private Singleton(){}public static Singleton getInstance(){if(instance == null){synchronized(){if(instance == null){instance == new Singleton();}}}return instance;}
}
饿汉式
public class Singleton{private static final Singleton INSTANCE = new Singleton();private Singleton(){}public static Singleton getInstance(){return INSTANCE;}
}
枚举类
public enum Singleton{INSTANCE;// ... 定义其他变量及方法
}