单例模式分为饿汉模式和懒汉模式,本篇主要讲一下饿汉模式,因为懒汉模式线程不安全,当然饿汉模式也有自身的缺点,懒汉模式可以通过线程的优化而变得安全,这个后期多线程基础比较好了以后再讲.饿汉模式因为其实现简单,安全,效率高,在实际开发中用的较多. 下面直接通过代码来实现饿汉模式.
/**
* 饿汉模式,在类加载时实例就被创建,所以叫饿汉模式.线程安全,但毕竟耗内存,会产生一些垃圾.
*/
public class Singleton {
//1.私有化构造器
private Singleton(){};
//2.创建类的单实例
private static Singleton instance = new Singleton();
//3.向外暴露一个获取该实例的方法,供大家调用
public static Singleton getInstance(){
return instance;
}
}
总结:所谓单例就是单实例,保证该类只能被实例化一次,只能拥有一个实例,具有唯一性.