單例模式(singleton)構建模式
定義在java程序中只有一個Class實例對象。
為何試用
比如類似于連接數據庫這樣的操作,只需要一個連接對象。這樣可以節省內存,也有利于垃圾回收(GC)
也可以狀態化比如說論壇上的訪問計數器。
也可以做無狀態的工具性質的功能。
例子:
public class Singleton {
private static Singleton instance = null;
public static synchronized Singleton getInstance() {
//使用時生成實例,提高了效率!
if (instance==null)
instance=new Singleton();
return instance; }
}
使用Singleton.getInstance()可以訪問單態類。
但是值得注意的是在分布式的情況下一定要注意,不同的對象都去裝在單例對象。