单利模式就是对象只创建一次,每次获取的是同一个对象。单利模式有两种实现方式。
懒汉式
在第一次拿对象的时候会创建一个对象,不过这时候可能有多个线程同时进来。考虑线程安全,所以在方法上上加上关键字synchronizedpackage sdibt.lxj.singlepattern;
/**
* 懒汉式单例模式
* @author lxj
*
*/
public class LazySingleton {
private static LazySingleton singleton;
public static synchronized LazySingleton getSingleton(){
if(singleton!=null){
singleton = new LazySingleton();
}
return singleton;
}
}
饿汉式
对象一开始就创建好,拿的时候直接拿
package sdibt.lxj.singlepattern;
/**
* 懒汉式单例模式
* @author lxj
*
*/
public class LazySingleton {
private static LazySingleton singleton = new LazySingleton();
public static LazySingleton getSingleton(){
return singleton;
}
}