欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

java 單例模式和多例模式

劉姿婷2年前7瀏覽0評論

在Java編程中,有時我們需要確保一個類只有一個實例被創建和訪問。這時候就需要使用單例模式。單例模式是一種設計模式,它可以確保一個類只有一個實例,并提供全局訪問點來訪問這個實例。在Java中,我們可以使用以下代碼實現單例模式:

public class Singleton {
private static Singleton instance = null;
private Singleton() {
// 私有構造方法
}
public static Singleton getInstance() {
if (instance == null) {
instance = new Singleton();
}
return instance;
}
}

上述代碼中,我們將類的構造方法設為私有,防止類在外部被實例化。同時,我們使用一個靜態變量來記錄類的唯一實例。這個靜態變量在第一次調用類的getInstance()方法時被初始化,而后續每次調用都返回同一個實例。

相較于單例模式,多例模式允許一個類有多個實例,但每個實例都必須有一個唯一的標識符來區分。多例模式在Java中也可以通過以下代碼實現:

public class MultiInstance {
private static Mapinstances = new HashMap<>();
private MultiInstance() {
// 私有構造方法
}
public static MultiInstance getInstance(String id) {
if (!instances.containsKey(id)) {
instances.put(id, new MultiInstance());
}
return instances.get(id);
}
}

上述代碼中,我們使用一個HashMap來記錄每個實例。在getInstance()方法中,如果請求的實例不存在,我們就創建一個新的實例并加入HashMap中。如果請求的實例已存在,我們就直接返回這個實例。

在實際編程中,我們需要根據具體場景來選擇合適的單例或多例模式。