什么是单例模式?
单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。
概述:单例模式就是要确保类在内存中只有一个对象,该实例必须自动创建,并且对外提供。
优点:在系统内存中只存在一个对象,因此可以节约系统资源,对于一些需求频繁创建和销毁的对象单例模式无疑可以提高系统的性能。
缺点:没有接口,不能继承,与单一职责原则冲突,一个类应该只关心内部逻辑,而不关心外面怎么样来实例化。
特点:
1、单例类只能有一个实例。(把构造方法私有,不允许外界创建对象)
2、单例类必须自己创建自己的唯一实例。(在成员位置自己创建一个对象)
3、单例类必须给所有其他对象提供这一实例。(通过一个公共方法提供访问)
应用场景: 1、要求生产唯一序列号。 2、WEB 中的计数器,不用每次刷新都在数据库里加一次,用单例先缓存起来。 3、创建的一个对象需要消耗的资源过多,比如 I/O 与数据库的连接等。
注意:开发一般选用饿汉式,懒汉式存在线程安全问题,记得加同步。
饿汉式:
懒汉式:
https://blog.youkuaiyun.com/qq_33326449/article/details/78946364