zoukankan      html  css  js  c++  java
  • 设计模式之--单列模式

    单例模式就是某个类只存在一个对象(只new 一次),当某个类的初始化比较耗时,耗资源的时候,
    比如hibernate写在Dao模式中
    创建session的时候必须写成单例模式,因为你每做一次数据库的操作,都必须创建一个session,
    这时候用单例模式是最好的,每次都只是同一个实例,sessionFactory 这个是单例的当然了是一个数据库的时候是单例的,
    整个服务仅使用这么一个工厂就足够了。好多工厂类基本上都是单例的。


    单列模式中的两种基本模式 饿汉式懒汉式。
    饿汉式是线程安全的,在加载类时创建实例静态的对象供系统使用,以后不在改变。
    懒汉式如果在创建实例对象时不加上synchronized则会导致对对象的访问不是线程安全的。
    懒汉式的优点是延时加载、缺点是应该用同步。

    饿汉式(建议使用
    class Singleton {
    private static Singleton instance=new Singleton();
    private Singleton(){}
    public static Singleton getInstance() {
    return instance;
    }
    }
    懒汉式
    class Singleton {
    private static Singleton instance=null;
    private Singleton(){}
    public static synchronized Singleton getInstance() {
    if(instance==null)
    instance=new Singleton();
    return instance;
    }
    }


  • 相关阅读:
    4.23计算机网络
    CF436F Banners
    CF1467C Three Bags
    LG P3247 [HNOI2016]最小公倍数
    LG P5473 [NOI2019] I 君的探险
    LG P3261 [JLOI2015]城池攻占
    LG P4149 [IOI2011]Race
    LG P3181 [HAOI2016]找相同字符
    SP7258 SUBLEX
    SP1811 LCS
  • 原文地址:https://www.cnblogs.com/laotan/p/3943925.html
Copyright © 2011-2022 走看看