单例模式的定义
单例模式(Singleton)模式是最简单的设计模式之一
是指一个类有且仅有一个实例对象,并且由该类自己进行实例化,向整个系统提供服务。
单例模式的特点
1.单例类在系统中只有一个实例对象;
2.单例类必须由单例类自行创建;
3.单例类对外提供一个访问该类的全局访问点;
单例模式的实现
单例模式一般有两种实现方式
第一种:懒汉式单例模式(不推荐使用)
特点是该类加载时不会初始化该类的对象,只有在第一次用到该类时调用getlnstance()方法才去初始化该类的对象,所以称为懒汉式单例模式;
public class Singleton {
// volatile关键字,保证instance在所有线程中同步
private static volatile Singleton instance = null;
// 构造方法修饰为私有(private),避免类在外部被实例化,实例化只能由单例类自行创建
private Singleton () {
}
// getInstance方法前加同步,避免多线程环境下被同时调用
public static