• 面试题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!");
        }
    }
  • 相关阅读:
    最大公约数
    面向对象(jianli)(游客买门票)
    String
    ATM模拟取款
    常用快捷键归纳
    购物清单
    jxls使用模版导出Excel
    IText 生成pdf,处理table cell列跨页缺失的问题
    Java使用IText(VM模版)导出PDF
    js ajax post提交 ie和火狐、谷歌提交的编码不一致,导致中文乱码
  • 原文地址:https://www.cnblogs.com/fuckingPangzi/p/10155723.html
Copyright © 2020-2023  润新知