所谓单例模式,就是程序运行过程中只有一个实例,这对于程序来说是很有用的,在任何地方都可以访问,比如全局配置就可以做成一个单例模式。
下面是Java实现的一个单例模式
//单例模式
public class Singleton {
private static volatile Singleton instance;
//防止类外直接new
private Singleton(){}
//双重检查
public static Singleton getInstance(){
if(instance == null){
synchronized (Singleton.class){
if(instance == null){
instance = new Singleton();
}
}
}
return instance;
}
//业务方法
public void show(){
System.out.println("我是业务方法");
}
}
单例模式使用时需要注意内存泄露问题,因为单例模式是静态的实例保存,生命周期和所在的进程的生命周期一样长,如果在单例中保存了生命周期适于进程的对象,就有可能会造成内存泄露。