Java中的多例设计模式是一种创建型设计模式,它确保一个类有多个实例,并且这些实例可以通过特定的键值进行访问和管理。多例模式与单例模式类似,不同之处在于单例模式只允许一个实例存在,而多例模式允许创建多个实例。
特点
多例类可以有多个实例。
多例类必须自己创建和管理自己的实例,并向外界提供访问这些实例的方法。
实例的数量通常是有限的,并且可以通过特定的键值来访问不同的实例。
应用场景
多例模式常用于资源管理,例如数据库连接池、线程池等,可以有效地限制资源数量并实现对象的复用。
代码实现
package com.demo.multipleton;
import java.util.HashMap;
import java.util.Map;
public class Multipleton {
// 使用HashMap来存储多个实例,以键值对的形式
private static Map
instances = new HashMap<>(); // 私有构造方法,防止外部直接创建实例
private Multipleton() {
}
// 公共的静态方法,通过键值获取实例
public static Multipleton getInstance(String key) {
if (!instances.containsKey(key)) {
instances.put(key, new Multipleton());
}
return instances.get(key);
}
}
在这个例子中,`Multipleton` 类通过一个静态的 `HashMap` 来存储多个实例,每个实例通过一个唯一的键值进行访问和管理。构造方法是私有的,这样就不能在外部直接通过 `new` 关键字创建实例。
希望这能帮助你理解Java中的多例设计模式