设计模式——单例

 2023-09-05 阅读 72 评论 0

摘要:什么是单例 一个类只有一个对象实例 为什么要用到单例 单例怎么实现 1,不让其他程序new该类对象,将类中的构造函数私有化。 2,在本类中创建一个对象。 3,定义一个方法返回该对象 代码实现: public class Singleton {//创建一个本类对象pri

什么是单例

一个类只有一个对象实例

为什么要用到单例

单例怎么实现

1,不让其他程序new该类对象,将类中的构造函数私有化。
2,在本类中创建一个对象。
3,定义一个方法返回该对象
代码实现:

public class Singleton {//创建一个本类对象private static final Singleton singleton = new Singleton();//构造函数私有化private Singleton(){}//定义一个静态方法返回该对象,让程序可以获取。public static Singleton getInstance(){return singleton;}

懒汉式与饿汉式的区别

懒汉式:类一加载对象就已经存在
饿汉式:类加载进来没有对象,只有调用了getInstance方法时,才会建立对象
延迟加载模式

在多线程访问时会出现线程安全问题。
加了同步可以解决问题,但是降低效率。

代码体现:
饿汉式

public class Singleton {private static final Singleton singleton = new Singleton();private Singleton(){}public static Singleton getInstance(){return singleton;}

懒汉式

public class Singleton {private static  Singleton singleton ;private Singleton(){}public static Singleton getInstance(){if(singleton == null){synchronized (Singleton.class){if(singleton == null){singleton = new Singleton();}}}return singleton;}

转载于:https://www.cnblogs.com/gloria-liu/p/8463740.html

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/1/7.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息