java GOF23设计模式-饿汉式和懒汉式

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java GOF23设计模式-饿汉式和懒汉式相关的知识,希望对你有一定的参考价值。

单例模式:保证一个类只用一个相同的实例,并且提供一个访问该实例的全局访问方法
如任务管理器、回收站
饿汉式:
把构造器私有,则别人无法访问
同时提供一个私有的创建好的static的该实例属性
提供一个开放的方法返回该实例

public class Design 
    private static Design d =new Design();  //类初始化时,立即加载这个对象,没有延迟加载的优势
    //即不使用对象会造成资源浪费

    private Design()
    

    
    public static Design getInstance()  //因为实在类加载器时创建的实例,此时线程绝对安全,所以不用加synchronized锁住保证一个对象
    
        return d;
    

    /*懒汉式:延迟调用,即调用时创建实例
     private static Design dd;
     private Design();
     public static synchronized Design getInstance()  //可能有多个线程调用,即可能null同时创建多个对象,所以得锁住
     
        if(s==null)
        
            s= new Design();
        
        return s;
     

 */

以上是关于java GOF23设计模式-饿汉式和懒汉式的主要内容,如果未能解决你的问题,请参考以下文章

JAVA中的单例设计模式-分为懒汉式和饿汉式(附代码演示)

JAVA中的单例设计模式-分为懒汉式和饿汉式(附代码演示)

单例设计模式懒汉式和恶汉式

关于Java单例模式中懒汉式和饿汉式的两种类创建方法

单例设计模式中的懒汉式和饿汉式

单例设计模式中的懒汉式和饿汉式