欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

java 单例模式的几种实现

程序员文章站 2021-11-26 20:04:07
...

1.饿汉模式

这种方式比较常用,但容易产生垃圾对象。

优点:没有加锁,执行效率会提高。

缺点:类加载时就初始化,浪费内存。


public class SingleTon {
    private static SingleTon instance = new SingleTon();
    private SingleTon () {};
    public static SingleTon getInstance () {
        return instance;
    }

}


2.懒汉模式(双重锁线程安全)

public class SingleTon {
    private volatile static SingleTon singleTon;

    private SingleTon() {

    }

    public static SingleTon getSingleTon() {
        if (singleTon == null) {
            synchronized (SingleTon.class) {
                if (singleTon == null) {
                    singleTon = new SingleTon();
                }
            }
        }
        return singleTon;
    }
}