单例模式

来源:互联网 发布:二宫和也 知乎 编辑:程序博客网 时间:2024/04/30 02:41

单例模式,常用在系统中唯一对象时,保证系统中有且只有一个这类型对象,常用技巧是将构造方法私有化,使外部无法new出对象来。单例模式又分为懒汉式单例与饿汉式单例,其中懒汉式单例在编写过程中可能会出现并发问题,需要注意,在此留下代码以作备忘。

饿汉式单例

package cn.vongo.pattern.singleton;import java.util.HashSet;import java.util.Set;/** * 饿汉式单例 */public class HungrySingleton {    private static HungrySingleton hungrySingleton = new HungrySingleton();//或者(直接放在static里面初始化)    private HungrySingleton(){}    public static HungrySingleton getInstance(){        return hungrySingleton;    }}

懒汉式单例

package cn.vongo.pattern.singleton;/** * 懒汉式单例 */public class LazySingleton {    private static LazySingleton lazySingleton = null;    private LazySingleton(){}    public static LazySingleton getInstance(){        if(lazySingleton == null){            synchronized (LazySingleton.class){                if(lazySingleton == null){                    lazySingleton = new LazySingleton();                }            }        }        return lazySingleton;    }}


0 0
原创粉丝点击