单例设计模式:
所谓类的单例设计模式,就是采取一定的方法保证在整个软件系统中,对某个类只能存在一个实例对象。
那么如何实现上述单例设计模式呢/h3>
实现步骤:
- 首先创建私有化构造器
- 在内部创建对象,相当于这个类的属性
- 使用公共的、静态的方法返回内部已创建的对象
注:使用下述逻辑或许可帮助记忆
-
∵ 单例模式,在外部只能有一个对象,即避免使用创建多个对象。∴ 将构造器声明为的,让其无法在外部创建对象,并事先在类内部创建好对象,调用对应方法,将创建好的对象返回出去。
-
∵ 要调用类中的方法,又无法在外部创建对象,即不能通过的方式调用。∴ 将返回对象的方法声明为 ,这便可使用返回内部创建的对象。
-
∵ 返回对象声明的方法是的,而的方法只能调用的对象。∴ 事先创建的对象也必须是的。
??????方法一:饿汉式
??????方法二:懒汉式
- 线程不安全
- 线程安全(方式1)
- 线程安全(方式2)
两种实现方法的区别
饿汉式
-
优点:天然线程安全
-
缺点:对象加载时间过长,占用内存
懒汉式
-
优点:用的时候才创建对象(延迟对象创建),节省内存
-
缺点:目前的写法是线程不安全的(需要改进才能变为线程安全的)
后续
学完多线程,再补充线程安全的懒汉式
优点:天然线程安全
缺点:对象加载时间过长,占用内存
优点:用的时候才创建对象(延迟对象创建),节省内存
缺点:目前的写法是线程不安全的(需要改进才能变为线程安全的)
学完多线程,再补充线程安全的懒汉式
– (已补充线程安全代码:2020.1.15)
文章知识点与官方知识档案匹配,可进一步学习相关知识Java技能树首页概览92435 人正在系统学习中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!