单例模式

来源:互联网 发布:二手交易平台源码 编辑:程序博客网 时间:2024/05/16 14:21

之前三篇博客介绍了3中工厂模式,本篇博客介绍单例模式。

单例模式是一种对象创建型模式,使用单例模式,可以保证为一个类只生成唯一的实例对象。也就是说,在整个程序空间中,该类只存在一个实例对象。

一般单例模式可分为饿汉式和懒汉式,代码如下:

/* * 饿汉单例 */public class SingletonA {    private static SingletonA intance = new SingletonA();    private SingletonA(){}    public static SingletonA getIntance(){        return intance;    }}
/* * 懒汉单例 */public class SingletonB {    private static SingletonB intance;    private SingletonB(){}    public static SingletonB getIntance(){        if (intance == null) {            synchronized (SingletonB.class) {                if (intance == null)                     intance = new SingletonB();            }        }        return intance;    }}

这两种方式都是线程安全的,饿汉模式读取更快,所在内存空间更大,因为饿汉模式在类加载时就初始化了,而且是静态的,内存不会被回收。而懒汉模式特点和饿汉刚好相反,读取慢,占内存小。

0 0
原创粉丝点击