【设计模式】——单例模式(饿汉式、懒汉式)

2020-06-15  本文已影响0人  从不打小怪兽

核心作用

单例模式的优点

常见的五种单例模式实现方式

实例

  1. 饿汉式
/**
 * 测试饿汉式
 * @author admin
 *
 */

public class SingletonPattern01 {
    
    private static SingletonPattern01 st=new SingletonPattern01();
    
    private SingletonPattern01(){//构造器私有化
        
    }
    
    public static SingletonPattern01 getInstance(){
        return st;
    }
    
}

问题:如果只是加载本类,而不是调用getInstance(),甚至永远不会调用,则会造成资源浪费。

  1. 懒汉式
/**
 * 懒汉式
 * @author admin
 *
 */

public class SingletonPattern02 {
    
    private static SingletonPattern02 st2;
    
    private SingletonPattern02(){
        
    }
    
    public static synchronized SingletonPattern02 getInstance(){
        if(st2==null){
            return st2=new SingletonPattern02();
        }
        return st2;
    }
    
}

资源利用率高了。但是每次调用getInstance()方法都要同步,并发效率低。


  1. 更新时间2018/8/5

上一篇下一篇

猜你喜欢

热点阅读