设计模式

简介: 设计模式

1、单例模式

饿汉模式

优点:执行效率高,性能高,没有任何的锁

缺点:某些情况下,可能会造成内存的浪费

public class MyStaticHungrySingleton {
    private static final MyStaticHungrySingleton myStaticHungrySingleton;
    static{
        myStaticHungrySingleton = new MyStaticHungrySingleton();
    }
    private MyStaticHungrySingleton(){}
    public MyStaticHungrySingleton getInstance(){
        return myStaticHungrySingleton;
    }
}<br><br>public class MyHungrySingleton {<br>    private static final MyHungrySingleton myHungrySingleton = new MyHungrySingleton();<br><br>    private MyHungrySingleton(){}<br><br>    private MyHungrySingleton getInstance(){<br>        return myHungrySingleton;<br>    }<br>}

懒汉式单例

优点:节省内存

缺点:性能下降

public class LazySimpleSingletion {
    private static LazySimpleSingletion instance;
    private LazySimpleSingletion(){}
    public synchronized static LazySimpleSingletion getInstance(){
        if(instance == null){
            instance = new LazySimpleSingletion();
        }
        return instance;
    }
}
//性能下降
public class LazyDoubleCheckSingletion {
    private volatile static LazyDoubleCheckSingletion instance;
    private LazyDoubleCheckSingletion(){}
    public static LazyDoubleCheckSingletion getInstance(){
        //检查是否要阻塞
        if(instance==null){
            synchronized (LazyDoubleCheckSingletion.class){
                //检查是否要创建实例
                if(instance==null){
                    instance = new LazyDoubleCheckSingletion();
                }
            }
        }
        return instance;
    }
}
//指令重排序
  
目录
相关文章
|
2天前
|
设计模式 缓存 算法
设计模式
设计模式
2 0
|
3月前
|
设计模式 Java 测试技术
设计模式之-降龙十八掌
设计模式之-降龙十八掌
30 0
|
4月前
|
设计模式 Java C#
C#设计模式——上
C#设计模式——上
|
6月前
|
设计模式 安全 Java
设计模式之单列模式
设计模式之单列模式
30 0
|
设计模式 Java
|
设计模式 Java
|
设计模式 算法 安全
11种常用的设计模式
有这么一个很形象的比喻,把写代码比作是建房子,代码比作是砖瓦、一个完整的系统就好比是一栋高楼大厦、程序员无疑就好比是建(ban)筑(zhuan)工,这些很表面的东西我们都可以很形象深刻的理解,其实要设计和开发一个系统远远不只这些东西,深挖表象之下隐藏着的细节往往才是灵魂所在,诸如:算法和数据结构、框架、设计模式等,设计模式是一个虚幻的抽象的概念,好比建造房子时的设计理念方案一样,一个软件系统扩展性、可维护性以及稳定健壮性如何,很大程度上取决于设计模式。
11种常用的设计模式
|
设计模式 程序员
设计模式(二)
设计模式
102 1
|
设计模式 SQL 算法
设计模式-25-设计模式汇总
今天汇总下学过的设计模式。
74 0
|
设计模式 架构师 Java
设计模式,牛逼!
设计模式,牛逼!
115 0
设计模式,牛逼!