java笔记之单例设计模式:饿汉式 vs 懒汉式详细说明

单例设计模式:

所谓类的单例设计模式,就是采取一定的方法保证在整个软件系统中,对某个类只能存在一个实例对象。

那么如何实现上述单例设计模式呢/h3>

实现步骤:

  1. 首先创建私有化构造器
  2. 在内部创建对象,相当于这个类的属性
  3. 使用公共的、静态的方法返回内部已创建的对象

注:使用下述逻辑或许可帮助记忆

  1. 单例模式,在外部只能有一个对象,即避免使用创建多个对象。 将构造器声明为的,让其无法在外部创建对象,并事先在类内部创建好对象,调用对应方法,将创建好的对象返回出去。
  2. 要调用类中的方法,又无法在外部创建对象,即不能通过的方式调用。 将返回对象的方法声明为 ,这便可使用返回内部创建的对象。
  3. 返回对象声明的方法是的,而的方法只能调用的对象。 事先创建的对象也必须是的。
??????方法一:饿汉式
??????方法二:懒汉式
  • 线程不安全
  • 线程安全(方式1)
  • 线程安全(方式2)

两种实现方法的区别

饿汉式
  • 优点:天然线程安全

  • 缺点:对象加载时间过长,占用内存

懒汉式
  • 优点:用的时候才创建对象(延迟对象创建),节省内存

  • 缺点:目前的写法是线程不安全的(需要改进才能变为线程安全的)

后续

学完多线程,再补充线程安全的懒汉式

– (已补充线程安全代码:2020.1.15)

文章知识点与官方知识档案匹配,可进一步学习相关知识Java技能树首页概览92435 人正在系统学习中

来源:troublemaker、

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年11月11日
下一篇 2020年11月11日

相关推荐