单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。
这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。
关键点:构造函数是私有的。
单例模式优点:
1、在内存里只有一个实例,减少了内存的开销
2、避免对资源的多重占用
使用场景:
- 1、要求生产唯一序列号。
- 2、WEB 中的计数器,不用每次刷新都在数据库里加一次,用单例先缓存起来。
- 3、创建的一个对象需要消耗的资源过多,比如 I/O 与数据库的连接等。
demo:
SingleObject.java
/**
* 单例模式
* 好处:
* 1.在内存里面只有一个实例,减少了内存得开销。
* 2.避免对资源得多重占用
*/
public class SingleObject {
private static SingleObject instance = new SingleObject();
private SingleObject(){}
public static SingleObject getInstance() {
return instance;
}
public void showMessage(){
System.out.println("Hello world!");
}
}
SingletonPatternDemo.java
public class SingletonPatternDemo {
public static void main(String[] args) {
SingleObject instance = SingleObject.getInstance();
instance.showMessage();
}
}
运行结果: