Java单例模式的五种实现方式

2020-09-30  本文已影响0人  nade_s

1.单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。
这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。

这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。
这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。

目的:保证一个类有且仅有一个实例,并提供一个访问它的全局访问点。
解决问题:管理一个被高频率使用的类,被频繁的创建和销毁。只用单例能更好的节省程序执行时间和减少空间内存的使用。

单例模式的实现方式有很多种:懒汉式,饿汉式,双锁机制实现,内部类形式,枚举类形式;
最著名的就是:懒汉式和饿汉式。
他们各有各的特点,也各有各的缺点。

2.饿汉式

/**

3.懒汉式

/**

/**
 * 线程安全 多线程使用安全。synchronized作用域为getInstance,每次同步都要面对同步问题,小有耗时。
 * @return
 */
public static synchronized SingletonDemo2 getInstance() {
    if (null == instance) {
        instance = new SingletonDemo2();
    }
    return instance;
}


/**
 * 线程不安全  多线程使用会重复创建
 * @return
 */
public static SingletonDemo2 getInstance1(){
    if (null == instance) {
        instance = new SingletonDemo2();
    }
    return instance;
}

public void eventOperation(){
    System.out.print("创建了:SingletonDemo2  执行了  eventOperation");
}

}

4.双重锁机制单例模式

/**

5.内部类创建方式

/**

6.枚举类方式
/**

上一篇 下一篇

猜你喜欢

热点阅读