什么时候使用单例设计模式、单例设计模式有哪些常见的应用场景

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ljh_learn_from_base/article/details/84810530

在实际的编程开发中,单例设计模式是我们谈得最多但用得最少的设计模式。单例设计模式的4种实现方式:

饿汉式、懒汉式、静态内部类式、枚举式,我这里就不说了。详情请参考我的另一篇博客

java使用枚举、饿汉式、懒汉式、内部类实现单例设计模式

可以说我到现在都没有使用上(在实际公司工作中),为什么会这样呢,我们来看看单例设计模式有哪些常见的应用场景

  1. window 的控制面板、任务管理器、回收站
  2. 网站的计数器
  3. 应用程序的日志应用:log4j、slf4j、logkback
  4. 项目中配置文件的读取
  5. 线程池(管理多个线程):java 自带线程池
  6. 数据库连接池(管理多个数据库连接):c3po 等
  7. 文件系统

从以上使用场景我们可以看出 ,其实那些所谓的常用场景,只要写一次,后期就基本上不会去改动了。所以我们用得非常少,但为什么我们总是谈起单例模式呢,就是那些面试官总是问这些问题,真不明白为什么老是要问这些,面试时造飞机大炮,工作时写HTML,不知道各位有没有同感。

在Java中,运行时类也就是Runtime类,被设计成是单例的饿汉式,spring 中的bean 和spring mvc 中的controller、service、dao层中通过@autowire的依赖注入对象默认都是单例的,使用单例的目的当然是节约内存节省资源。

其实我也就发发牢骚,不知道各位有什么看法,欢迎下方评论!

猜你喜欢

转载自blog.csdn.net/ljh_learn_from_base/article/details/84810530