单例模式:饿汉式,懒汉式

单例模式:饿汉式,懒汉式,第1张

单例模式:饿汉式,懒汉式 什么叫单例模式?

单例模式涉及到一个单一的类,该类负责创建自己的对象,并且确保只有单个对象被创建,这个类提供了一种访问其唯一对象的方式,可以直接访问,不需要实例化该对象。

单例模式分类为两种:

饿汉式:类加载就会导致该实例对象被创建。

懒汉式:类加载不会导致实例对象的创建,首次使用时才会创建

饿汉式:

 

懒汉式:

 上面这种方式在多个线程并行时,可能会创建出多个对象,例如:线程1进入执行到if(intance = null)还没有return时,线程2也执行到这一步,这个时间由于线程1并没有return,所以此时intance还是null,那么线程2也会创建一个对象。

解决方法:在public static 后加上同步关键字(synchronized),代码如下:

双重检查锁模式

我们还可以对上述项目进行优化,那就是双重检查锁模式。

 

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5636514.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存