简介
单例模式是一种常用的软件设计模式,属于创建型模式。通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统资源。如果希望在系统中某个类的对象只能存在一个,单例模式是最好的解决方案。
实现方式
方式一
package org.iti.designmode;
public class SingleInstance {
private SingleInstance() {
}
public static SingleInstance getInstance() {
return SingleInstanceHolder.INSTANCE;
}
private static class SingleInstanceHolder {
private final static SingleInstance INSTANCE = new SingleInstance();
}
}
方式二
package org.iti.designmode;
public class SingleInstance {
private volatile static SingleInstance sInstance;
private SingleInstance() {
}
public static SingleInstance getInstance() {
if (sInstance == null) {
synchronized (SingleInstance.class) {
if (sInstance == null) {
sInstance = new SingleInstance();
}
}
}
return sInstance;
}
}
方式三
public enum SingleInstance {
INSTANCE;
private SingleInstance() {
}
}