📅  最后修改于: 2023-12-03 15:37:03.381000             🧑  作者: Mango
在计算机领域中,单独(英文:Singleton)是一种常见的设计模式,用于限制一个类只能被实例化为一个对象。该对象持有该类的所有实例共享的状态。单独模式属于创建型模式,可以解决某些问题的困难,例如确保某个类只能有一个实例;提供对该实例的全局访问;为单例对象提供一个可访问的唯一入口等。
在Java中实现单例模式可以有很多种方式,下面介绍其中的三种方式:
public class Singleton {
private static Singleton instance = new Singleton(); // 在类加载的时候就创建对象实例
private Singleton() {}
public static Singleton getInstance() {
return instance;
}
}
public class Singleton {
private static Singleton instance = null; // 没有在类加载时创建实例
private Singleton() {}
public static synchronized Singleton getInstance() { // 多线程同步
if (instance == null) {
instance = new Singleton();
}
return instance;
}
}
public class Singleton {
private Singleton() {}
// 静态内部类的方式,可以实现懒加载和线程安全
private static class SingletonHolder {
private static final Singleton INSTANCE = new Singleton();
}
public static Singleton getInstance() {
return SingletonHolder.INSTANCE;
}
}
单独模式常用于以下场景:
单独模式是一种常用的设计模式,可以限制一个类只能被实例化为一个对象,并提供对该对象的全局访问。在Java中也有多种实现方式,开发者可以据实际情况选择最适合的方式来实现单例模式。