直奔主题,单例模式是一种表面简单实则很精妙的一个设计模式,网上有好多写法,什么饿汉懒汉什么多线程多处理器等等乱七八糟,个人觉得一种比较好的写法如下。
public class SingleTon {
private SingleTon() {
};
private static class Holder {
private static SingleTon instance = new SingleTon();
}
public static SingleTon getInstance() {
return Holder.instance;
}
}
使用饿汉写法的同时,用内部类延迟初始化,避免了双重锁繁重的视觉感,不错。