zoukankan      html  css  js  c++  java
  • 面试题6,单例模式等等。24种设计模式。

    singleton单例模式是java中最简单的设计模式之一。这种类型的设计模式属于创建模式,因为此模式提供了创建对象的最佳方法之一。

    这种模式涉及一个类,他负责创建一个对象,同时确保只创建一个对象。这个类提供了一种方法来访问它的唯一对象,可以直接访问,而不需要实例化。

    饿汉式:

    public class SingleObject {
    
        private static SingleObject instance = new SingleObject();
    
        private SingleObject(){}
    
        public static SingleObject getInstance(){
            return instance;
        }
    
        public void showMessage(){
            System.out.println("Hello World!");
        }
    }
    public class SingletonPatternDemo {
    
        public static void main(String[] args) {
            SingleObject object = SingleObject.getInstance();
            object.showMessage();
        }
    }

    懒汉式:

    public class SingleObject {
        // 静态实例变量
        private static SingleObject instance;
        // 私有化构造函数
        private SingleObject(){
    
        }
    
        // 静态public方法,向整个应用提供单例获取方式
        public static SingleObject getInstance(){
            if (instance==null){
                instance = new SingleObject();
            }
            return instance;
        }
    
        public void showMessage(){
            System.out.println("Hello World!");
        }
    }

    懒汉式的线程安全:

    public class SingleObject {
        // 静态实例变量加上volatile
        private static volatile SingleObject instance;
        // 私有化构造函数
        private SingleObject(){
    
        }
    
        // 双重检查锁
        public static SingleObject getInstance(){
            if (instance==null){
                synchronized (SingleObject.class){
                    if (instance==null){
                        instance = new SingleObject();
                    }
                }
            }
            return instance;
        }
    
        public void showMessage(){
            System.out.println("Hello World!");
        }
    }
  • 相关阅读:
    T-SQL查询语句
    数据库和表的管理
    数据库概念
    IRF2实验
    IFR2笔记
    校园网双网出口实验案例
    双机热备实验
    华为H3C(NAT)实验
    BGP(边界网关协议)实验
    Hybrid实验
  • 原文地址:https://www.cnblogs.com/fuckingPangzi/p/10155723.html
Copyright © 2011-2022 走看看