美文网首页
设计模式

设计模式

作者: 我问你瓜保熟吗 | 来源:发表于2020-02-27 15:12 被阅读0次
    创意人物

    一、单例模式

    • 饿汉模式
    public class Singleton01 {
    
        // 1、构造器私有化
        private Singleton01() { }
    
        // 2、类初始化的时候,立即加载该对象
        private static Singleton01 instance = new Singleton01();
    
        // 3、提供获取该对象的方法,没有synchronized,效率高!
        public static  Singleton01 getInstance() {
            return instance;
        }
    }
    
    // 测试
    class Single01Test{
        public static void main(String[] args) {
            Singleton01 instance1 = Singleton01.getInstance();
            Singleton01 instance2 = Singleton01.getInstance();
    
            System.out.println(instance1==instance2);
        }
    }
    
    • 懒汉模式
    public class Singleton02 {
    
        // 1、构造器私有化
        private Singleton02() { }
    
        // 2、类初始化的时候,不立即加载该对象
        private static Singleton02 instance;
    
        // 3、提供获取该对象的方法,有synchronized,效率较低!
        public static synchronized Singleton02 getInstance() {
            if (instance == null) {
                instance = new Singleton02();
            }
            return instance;
        }
    }
    
    // 测试
    class Single02Test{
        public static void main(String[] args) {
            Singleton02 instance1 = Singleton02.getInstance();
            Singleton02 instance2 = Singleton02.getInstance();
    
            System.out.println(instance1==instance2);
        }
    }
    

    相关文章

      网友评论

          本文标题:设计模式

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