美文网首页
手写单利模式

手写单利模式

作者: galaxy_zheng | 来源:发表于2019-08-29 13:14 被阅读0次

    layout: post

    title: '手写单利模式'

    subtitle: '转载请注明出处'

    date: 2019-08-29

    categories: Android Java 单利模式

    cover: 'http://bpic.588ku.com/back_pic/05/61/11/465b46e23671e61.jpg'

    tags: Android Java 单利模式


    1. 懒汉模式

    public class SingletonDemo {
       private static SingletonDemo instance;
       private SingletonDemo(){
    
       }
       public static SingletonDemo getInstance(){
           if(instance==null){
               instance=new SingletonDemo();
           }
           return instance;
       }
    }
    

    2. 饿汉模式

    public class SingletonDemo {
       private static SingletonDemo instance=new SingletonDemo();
       private SingletonDemo(){
    
      }
       public static SingletonDemo getInstance(){
           return instance;
       }
    }
    

    3. 双重校验锁法

    public class SingletonDemo {
       private volatile static SingletonDemo instance;
       private SingletonDemo(){
           System.out.println("Singleton has loaded");
       }
       public static SingletonDemo getInstance(){
           if(instance==null){
               synchronized (SingletonDemo.class){
                   if(instance==null){
                       instance=new SingletonDemo();
                   }
               }
           }
           return instance;
       }
    }
    

    4. 静态类内部加载

    public class SingletonDemo {
       private static class SingletonHolder{
           private static SingletonDemo instance=new SingletonDemo();
       }
       private SingletonDemo(){
           System.out.println("Singleton has loaded");
       }
       public static SingletonDemo getInstance(){
           return SingletonHolder.instance;
       }
    }
    

    5. 枚举方法

    enum SingletonDemo{
       INSTANCE;
       public void otherMethods(){
           System.out.println("Something");
       }
    }
    
    public class Hello {
       public static void main(String[] args){
           SingletonDemo.INSTANCE.otherMethods();
       }
    }
    

    相关文章

      网友评论

          本文标题:手写单利模式

          本文链接:https://www.haomeiwen.com/subject/jbhiectx.html