zoukankan      html  css  js  c++  java
  • 设计模式之单例、多例模式

    单例

    饱汉模式

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

    饥汉模式

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

    枚举

    public enum Singleton {
        INSTANCE();
        
        private Singleton() {}
        
        public void method() {
            // do something
        }
    }

    多例

    public class Multiton {
        private static Multiton instance1 = new Multiton();
        private static Multiton instance2 = new Multiton();
        
        private Multiton() {}
        
        public static Multiton getInstance(int key) {
           if(key == 1) {
               return instance1;
           } else {
               return instance2;
           }
        }
    }
    作者:踮起脚尖眺望
    出处:http://www.cnblogs.com/wangj1130
    本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    idea 使用
    scala
    Java开发工具
    ActiveMQ基础
    Java 多线程实战
    Java 内部类和Lambda
    Spring 学习
    平滑重启php
    opcache
    redis的hscan命令
  • 原文地址:https://www.cnblogs.com/wangj1130/p/4843150.html
Copyright © 2011-2022 走看看