设计模式

简介: 设计模式

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;
    }
}
//指令重排序
  
目录
相关文章
|
12月前
|
设计模式 算法 关系型数据库
23种设计模式总结
23种设计模式总结
82 0
|
12月前
|
设计模式 存储 安全
【设计模式】五种创建者模式
创建者模式 创建型模式的主要关注点是“怎样创建对象?”,它的主要特点是“将对象的创建与使用分离”。 这样可以降低系统的耦合度,使用者不需要关注对象的创建细节。 创建型模式分为: 单例模式 工厂方法模式 抽象工程模式 原型模式 建造者模式 单例设计模式 单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。 单例模式的结构 单例模式的
49 0
|
5月前
|
设计模式 算法
什么是设计模式,有哪些设计模式,设计模式用来做什么
什么是设计模式,有哪些设计模式,设计模式用来做什么
|
12月前
|
设计模式 安全
设计模式介绍
设计模式介绍
38 0
|
设计模式 存储 算法
|
设计模式 算法 程序员
【3W2H设计模式】什么是设计模式
【3W2H设计模式】什么是设计模式
254 0
|
设计模式
设计模式总结
设计模式总结
72 0
|
设计模式 算法 安全
11种常用的设计模式
有这么一个很形象的比喻,把写代码比作是建房子,代码比作是砖瓦、一个完整的系统就好比是一栋高楼大厦、程序员无疑就好比是建(ban)筑(zhuan)工,这些很表面的东西我们都可以很形象深刻的理解,其实要设计和开发一个系统远远不只这些东西,深挖表象之下隐藏着的细节往往才是灵魂所在,诸如:算法和数据结构、框架、设计模式等,设计模式是一个虚幻的抽象的概念,好比建造房子时的设计理念方案一样,一个软件系统扩展性、可维护性以及稳定健壮性如何,很大程度上取决于设计模式。
116 0
11种常用的设计模式
|
设计模式 XML 存储
|
设计模式
设计模式(3)
设计模式(3)
107 0