单例模式是一种设计模式,确保一个类只有一个实例,并提供全局访问该实例的方式。
单例模式的实现方式常见的有以下几种:
-
饿汉式:类加载时就完成了实例化,浪费内存。
-
懒汉式:在第一次使用时才实例化,需要处理多线程同步问题。
单例模式的优点包括:
-
只有一个实例,减少了内存开销。
-
全局访问,方便管理和控制。
其缺点主要是:
-
缺乏灵活性,扩展困难。
-
单例类的职责过重。
以下是一个简单的 Java 手写单例模式示例代码:
public class Singleton {
private static Singleton instance;
private Singleton() {}
public static Singleton getInstance() {
if (instance == null) {
instance = new Singleton();
}
return instance;
}
}
在上述代码中,通过将instance声明为static实现了单例模式。在getInstance方法中进行实例的创建和返回,确保只有一个实例存在。