单例模式
定义:确保一个类最多只有一个实例,并提供一个全局访问点
单例模式可以分为两种:饿汉式和懒汉式
饿汉式
预先加载。再进一步解释就是还没有使用该单例对象,但是,该单例对象就已经被加载到内存了。
public class PreloadSingleton { public static PreloadSingleton instance = new PreloadSingleton(); //其他的类无法实例化单例类的对象 private PreloadSingleton() { }; public static PreloadSingleton getInstance() { return instance; } }
懒汉式
为了避免内存的浪费,我们可以采用懒加载,即用到该单例对象的时候再创建。
public class Singleton { private static Singleton instance=null; private Singleton(){ }; public static Singleton getInstance() { if(instance==null) { instance=new Singleton(); } return instance; } }