单例模式(Singleton)是一种常用的设计模式,它是创建型模式的一种,适用于一个类有且只有一个实例的情况,也就是说,单例模式确保了某个类只有一个实例(对象)存在。
单例模式定义的三个要素① 定义私有的静态成员。
② 构造函数私有化。
③ 提供一个公有的静态方法以构造实例。
单例模式的实现方式对于单例模式,一定要考虑并发状态下的同步问题,单例模式根据实例化对象时间的不同在实现代码时分为两种主流的实现方式,一种叫作饿汉式单例,另一种叫作懒汉式单例,这两种实现方式都是多线程安全的,但前者是天生多线程安全。
★ 饿汉式单例的实现方式:在单例类被加载时,就实例化一个对象。
★ 懒汉式单例的实现方式:调用取得实例的方法时才会实例化对象。
饿汉式单例模式的Java 实现代码如下:
// 单例模式(饿汉式) public class Singleton { private static Singleton instance = new Singleton(); private Singleton() {}; public static Singleton getInstance() { return instance; } }