java设计模式之单例模式——Singleton pattern

设计模式故事会:https://blog.csdn.net/weixin_40205234/article/details/90664824

单例模式

单例模式(Singleton pattern)是java中最常见的设计模式之一。该模式属于创建型设计模式,它提供了一种创建对象的最佳方式。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一对象的方式,可以直接访问,不需要实例化该类的对象。

注意:

  • 1.单例类只有一个实例。
  • 2.单例类必须自己创建自己唯一的实例。
  • 3.单例类必须给其他所有对象提供这一实例。

一、介绍

意图:保证一个类仅有一个实例,并提供一个访问它的全局访问点。

主要解决:一个全局使用的类,频繁的创建与销毁。

何时使用:当你想控制实例数量,节省系统资源的时候。

如何解决:判断系统是否有这个单例,如果有则返回,没有则创建。

关键代码:构造函数是私有的。

应用场景:

  1. Windows的任务管理器(Task Manager)就是很典型的单例模式(熟悉吧,试试看自己能不能同时打开两个Task Manager)
  2. Windows的回收站(Recycle Bin)也是典型的单例模式。在整个系统运行中,回收站一直维护着仅有的一个实例。
  3. 网站计数器一般也是采用单例模式,否则难以同步。
  4. 应用程序的日志应用,一般都会采用单例模式实现,这一般是由于共享的日志文件一直处于打开状态,因为只能有一个实例去操作,否则内容不好追加。
  5. Web应用配置对象的读取,一般也应用单例模式,这个是由于配置文件共享的资源。
  6. 数据库连接池的设计一般也是采用单例模式,因为数据库连接是一种数据库资

你可能感兴趣的:(设计模式,java编程)