设计模式之单例模式
Singleton(单例模式)
定义:确保一个类只有唯一的一个实例。
分类: 懒汉式:
1.声明一个私有的,静态的本类对象,但并不在声明的时候就初始化,因此,它的值为null
2.私有化构造器
3.对外提供一个全局的,公有的,静态的,唯一的方法,用来获得该实例,但注意的是:必须要手动保持线程同步(synchronized)
4.在该方法里,判断对象是否为null,如果是null的话,表示这个类还没有被实例化,就会初始化这个对象,再返回
如果不是null的话,就直接返回
饿汉式:
1.声明一个私有的,静态的本类对象,并在声明的时候就初始化
2.私有化构造器
3.对外提供一个全局的,公有的,静态的,唯一的方法,用来获得该实例(饿汉模式线程本身就是同步的)
4.在该方法里,直接返回该对象即可
从资源利用效率角度来讲,这个比懒汉式单例类稍差些。从速度和反应时间角度来讲,
则比懒汉式单例类稍好些。
解决问题:一个类在Java虚拟机只有一个实例.使一个类只有一个对象,整个系统共享这个对象。