概述
一、什么是单例、多例?
所谓单例就是指所有请求都用一个对象来处理;
多例就是指每个请求用一个新的对象来处理;
可以测试得到单例模式下面,new 不同对象的地址值是一模一样的,保存在一个地方;
多例模式下面,new 不同对象的地址值都是不一样的;
二、1.单例模式和多例模式都是对象模式。
2.单例的对象在整个系统中只有一份,多例模式可以有多个实例。
3.它们都不对外提供构造方法,即构造方法私有。
三、单例模式:第一种:懒汉式(线程不安全,加上synchronized后线程安
对象延迟加载,效率高,只有在使用的时候才实例化对象,但若设计不当线程会不 安全,代码相对于饿汉式复杂,第一次加载类对象的时候反应不快。
第二种:饿汉式(线程安全)
对象预先加载,线程是安全的,在类创建好的同时对象生成,调用获得对象实例的方法反应速度快,代码简练。
多例模式:是为了防止并发问题;
即一个请求改变了对象的状态,此时对象又处理另一个请求,而之前请求对对象状态的改变导致了对象对另一个请求做了错误的处理;
用法总结:用单例和多例的标准只有一个:
当对象含有可改变的状态时(在实际应用中该状态会发生改变)就用多例 ,否则就用到单例。
最后
以上就是虚拟绿草为你收集整理的单例和多例 ——浅解的全部内容,希望文章能够帮你解决单例和多例 ——浅解所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复