zoukankan      html  css  js  c++  java
  • 23种设计模式(1) 单例模式

    1.饿汉式

    package com.abc.beans;
    
    import java.io.Serializable;
    
    /*
    *  单例模式(饿汉式)
    *  1. 私有化构造方法
    *  2. 初始化对象
    *  优点:线程安全,调用效率高
    *  缺点:不能延迟加载
    *
    *
    *
    * */
    
    
    public class Book implements Serializable {
    
        private static Book book = new Book();
        private Book(){
    
        }
        public static Book getInstance(){
            return book;
        }
    }

    2. 懒汉式

    package com.abc.beans;
    
    import java.io.Serializable;
    
    /*
    *  单例模式(懒汉式)
    *  1. 私有化构造方法
    *  2. 不初始化对象,用的时候在初始化
    *  缺点:调用效率不高
    *  优点:线程安全,可以延迟加载
    *
    *
    *
    * */
    
    
    public class Book implements Serializable {
    
        private static Book book;
        private Book(){
    
        }
        public static synchronized Book getInstance(){
            if(book == null){
                book = new Book();
            }
            return book;
        }
    }

     3. 静态内部类实现单例模式

    package com.abc.beans;
    
            import java.io.Serializable;
    
    /*
     *  单例模式(静态内部类)
     *  1.线程安全
     *  2.调用效率高
     *  3.延迟加载
     *
     *
     *
     * */
    
    
    public class Book implements Serializable {
    
        private static class BookInstanve{
            private static final Book book = new Book();
        }
        private Book(){
    
        }
        public static Book getInstance(){
            return BookInstanve.book;
        }
    }
  • 相关阅读:
    第二周
    第一周
    构建之法阅读笔记之三
    冲刺一(10)
    冲刺一(9)
    用户模板和用户场景
    冲刺一(8)
    第10周总结
    冲刺一(7)
    冲刺一(6)
  • 原文地址:https://www.cnblogs.com/mm163/p/10786857.html
Copyright © 2011-2022 走看看