单例模式
单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。
这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。
单例模式的核心
保证一个类只有一个实例,同时提供一个可以访问的方法。
常见的应用场景
1:Spring中,每个Bean默认就是单例,这样做的优点是Spring容器可以管理
2:数据库连接池的设计一般也是采用单例模式
3:Spring MVC框架,控制对象也是单例
4:Application也是单例的应用(Servlet编程中会涉及到)
单例模式的优点
由于单例模式只生成一个实例,减少了系统性能开销,当一个对象的产生需要比较多的资源时,如读
取配置,产生其他依赖对象时,则可以通过在应用启动时直接产生一个单例对象,然后永久驻留内存
的方式来解决。
常见的四种单例模式实现方式:
1:饿汉式(线程安全,调用效率高,但是不能延时加载)
2:懒汉式(线程安全,调用效率不高,但是可以延时加载)
3.静态内部类式(线程安全,调用效率高。但是,可以延时加载)
4.枚举单例(线程安全,调用效率高,不能延时加载)
网友评论