问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

什么是单例设计模式

发布网友 发布时间:2022-04-24 01:44

我来回答

3个回答

热心网友 时间:2022-04-05 15:10

java模式之单例模式:
单例模式确保一个类只有一个实例,自行提供这个实例并向整个系统提供这个实例。
特点:
1,一个类只能有一个实例
2,自己创建这个实例
3,整个系统都要使用这个实例
例: 在下面的对象图中,有一个"单例对象",而"客户甲"、"客户乙" 和"客户丙"是单例对象的三个客户对象。可以看到,所有的客户对象共享一个单例对象。而且从单例对象到自身的连接线可以看出,单例对象持有对自己的引用。

Singleton模式主要作用是保证在Java应用程序中,一个类Class只有一个实例存在。在很多操作中,比如建立目录 数据库连接都需要这样的单线程操作。一些资源管理器常常设计成单例模式。
外部资源:譬如每台计算机可以有若干个打印机,但只能有一个Printer Spooler,以避免两个打印作业同时输出到打印机中。每台计算机可以有若干个通信端口,系统应当集中管理这些通信端口,以避免一个通信端口被两个请求同时调用。内部资源,譬如,大多数的软件都有一个(甚至多个)属性文件存放系统配置。这样的系统应当由一个对象来管理这些属性文件。

一个例子:Windows 回收站。
在整个视窗系统中,回收站只能有一个实例,整个系统都使用这个惟一的实例,而且回收站自行提供自己的实例。因此,回收站是单例模式的应用。

两种形式:
1,饿汉式单例类
public class Singleton {

private Singleton(){}

//在自己内部定义自己一个实例,是不是很奇怪?
//注意这是private 只供内部调用

private static Singleton instance = new Singleton();

//这里提供了一个供外部访问本class的静态方法,可以直接访问
public static Singleton getInstance() {
return instance;
}
}

2,懒汉式单例类

public class Singleton {

private static Singleton instance = null;

public static synchronized Singleton getInstance() {

//这个方法比上面有所改进,不用每次都进行生成对象,只是第一次

//使用时生成实例,提高了效率!
if (instance==null)
instance=new Singleton();
return instance; }

}

第二中形式是lazy initialization,也就是说第一次调用时初始Singleton,以后就不用再生成了。

热心网友 时间:2022-04-05 16:28

你好,可以用一个提问来开始:请问java里如何使一个类,只能实例化一次?
回答就是:单例模式。
具体代码体现为
public
class
a{
private
a(){}//把构造函数设为private,其它类就不能再调用实例化
private
static
a
instance=new
a();//惟一的一个实例,加上static属性
public
static
a
getinstance(){//其它类调用a的惟一入口,也是static属性,调用方法是a.getinstance()
return
instance;
}
}

热心网友 时间:2022-04-05 18:02

,饿汉式单例类
public class Singleton {

private Singleton(){}

//在自己内部定义自己一个实例,是不是很奇怪?
//注意这是private 只供内部调用

private static Singleton instance = new Singleton();

//这里提供了一个供外部访问本class的静态方法,可以直接访问
public static Singleton getInstance() {
return instance;
}
}

2,懒汉式单例类

public class Singleton {

private static Singleton instance = null;

public static synchronized Singleton getInstance() {

//这个方法比上面有所改进,不用每次都进行生成对象,只是第一次

//使用时生成实例,提高了效率!
if (instance==null)
instance=new Singleton();
return instance; }

}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
苹果电脑电池充不进电苹果电脑充不进去电是怎么回事 苹果电脑不充电没反应苹果电脑充电指示灯不亮充不了电怎么办 狗狗更加忠诚护家、善解人意,养一只宠物陪伴自己,泰迪能长多大... 描写泰迪狗的外形和特点的句子 国外留学有用吗 花钱出国留学有用吗 !这叫什么号 百万医疗赔付后是否可以续保 前一年理赔过医疗险还能续保吗? 医疗住院险理赔后还能购买吗? 单机例设计模式具备哪些特点 使用单例模式getInstance 有什么好处 单例模式的介绍 什么是单例模式? 单例模式的要点 单例模式的好处和缺点?为什么要用单例模式?详细才给分 单例模式的好处或者说是作用吧~有哪些,请高手指教~ Java单例模式是什么意思? 单例模式的优缺点 如何写一个简单的单例模式? 举例说明"单例模式" 关于单例模式,如何理解? 苹果酷狗关不了锁屏显示怎么办,找过酷狗设置,也关了通知,依然显示? 专业技术人员是什么行政级别待遇? 副高和正科哪个好?他们是一个级别吗? 副高职称对应公员那一级 县级医院医生副高职称享受什么行政行级别待遇? 有时候打开word文档之后不能输入汉字,只有英文,是怎么回事? 一打开word文字就全部选中状态,没有办法输入文字,望大神解决下 为什么每次打开word时没输入法不是默认输入法 在Java中用单例模式有什么好处 什么叫单例模式,如何实现,有什么作用? 阀门气密性试验标准 什么是单例模式 密封性试验仪的符合标准 什么是单立模式(JAVA)或概念 如何写一个标准的Java单例模式 有没人知道包装袋密封性测试是怎么做的 密封有什么参数吗?就是怎样去衡量一个元件它的密封性好坏?都需要检测哪些东西? 有烘焙糕点密封性检测国家标准吗? 阀门密封试验操作步骤是怎样的 严密性试验和强度试验的区别 真空测试检测标准有哪些呢? 消防蝶阀的强度和密封性试验怎么做 防水接头的密封性能判断标准 气门的密封性检验方法有哪些? 散热器在修复后应怎样进行密封性试验? 所有马桶的马桶盖都是歪的,是什么原因导致的呢? 坐便器盖坏了怎么办 坐便盖马桶盖坏了要怎么更换