单例模式:
一句话总结:一个类在Java虚拟机中只有一个对象,并提供一个全局访问点。
解决什么问题:对象的唯一性,性能浪费太多。
项目里面怎么用:数据库连接对象,属性配置文件的读取对象。
模式结构:分为饿汉式和懒汉式(如果考虑性能问题的话,就使用懒汉式,因为懒汉式是在方法里面进行初始化的),构造器私 有化,对外提供方法加同步关键字
饿汉模式:
public class HurgrySingleton { private static HurgrySingleton hurgry = new HurgrySingleton(); private HurgrySingleton(){}; public static HurgrySingleton getSinletonHurgry(){ return hurgry; } }
懒汉模式:
public class LazySingleton{ private static LazySingleton lazySingleton = null; private LazySingleton(){}; public static synchronized LazySingleton getLazySingleton (){ if(lazySingleton ==null){ lazySingleton = new LazySingleton(); } return lazySingleton ; } }