单例模式
简单地说,单例模式就是实现单例模式的这个类只有一个实例对象,每次返回的都是同一个对象。在数据库连接的应用场景中,单例模式避免了反复生成数据库连接对象这种情况的发生,能够起到节约资源的作用
懒汉模式
第一次被引用时,才会被实例化,需要考虑多线程问题可以用双重锁来实现同步并提高同步的效率
public class Singleton {
private static Singleton instance;
private Singleton(){}
public static Singleton getInstance(){
if(instance==null){
synchronized (Singleton.class) {
if(instance==null)
instance=new Singleton();
}
}
return instance;
}
饿汉模式
类加载的时候就实例化,提前占用系统资源
class Singleton{
private static Singleton instance=new Singleton();
private Singleton(){}
public static Singleton getInstance(){
return instance;
}
}