为什么需要单例模式?
一个对象的创建非常耗费资源,或者这个对象在全局中只需要用到一个而且没有状态的变化。在这种情况下如果我们每次都要创建很浪费资源,先创建出一个对象,当需要用到的时候进行复用即可。
具体实现
模式
懒汉模式: 惰性加载,在类加载的时候并不初始化,当有类需要用到的时候再进行初始化,推荐。 饿汉模式:非惰性加载,类加载的时候直接进行初始化,开始会耗费时间,但也只是仅加载一次。
代码
//线程安全,惰性加载
public class Singleton {
private static volatile Singleton singleton;
private Singleton() {
}
public Singleton getInstence() {
if(singleton == null){
synchronized(Singleton.class){
if(singleton == null)
singleton = new Singleton();
}
}
return singleton;
}
}