单例模式

单例模式:一个类只有一个实例,且该类能自行创建这个实例的一种模式。

特点:

1、单例类只能有一个实例。
2、单例类必须自己创建自己的唯一实例。
3、单例类必须给所有其他对象提供这一实例。

大体可分为四类:

饿汉式单例:
初始化的时候就创建对象
懒汉式单例:
在每次调用的时候创建
注册单例:
将每一个实例都缓存到统一到容器中,使用唯一标识获取实例。
ThreadLocal单例:
保证线程内部的全局唯一,且天生线程安全。

单例模式的优点:

在内存中只有一个实例 ,减少了内存开销。
可以避免对资源的多重占用。
设置全局访问点,严格控制访问。

单例模式的缺点:

没有接口,扩展困难,如果要扩展单例对象,只有修改代码,没有其他途径。

你可能感兴趣的:(单例模式)