1、什么是单例模式?
A:保证某个类在程序中有且仅有一个对象
2、饿汉单例
【饥不择食,此类一加载对象就产生了,无论是否使用】
【线程安全,在JVM加载类时就创建了唯一一个对象】
【保证只有一个对象,只有将其类的构造方法隐藏,并且提供唯一的一个对象的get方法即可,这个对象被static修饰】
【数据源DataSource是单例对象】
3、懒汉单例
【仅仅第一次调用get方法才产生一个唯一的对象】
【线程不安全】
解决懒汉的线程安全问题
1、在静态方法上加锁
2、优化1–double-check
【加锁之后还要继续判断当前对象是否为空】
3、双重加锁–完整版
【使用volatile关键字保证单例对象的初始化不被中断】
Java单例模式
最新推荐文章于 2023-07-09 15:36:12 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)