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

    什么是单例

    • 保证类在内存中只有一个对象。
    • 对象是new出来的,因此也就是说在程序中只能new一次对象

    单例实现的基本步骤

    1》声明一个类,类中有一个静态属性,类型与类名相同     

    2》把空参构造方法声明为私有

    3》在类中提供一个公共静态访问方法来返回该对象实例

    单例的多种写法

    写法一 饿汉式

    class Singleton{

        private static Singleton instance = new Singleton();

        private Singleton(){}

        public static Singleton getInstance(){

           return instance;

        }

    }

    写法二 懒汉式

    class Singleton{

        private static Singleton instance;

       

        private Singleton(){}

       

        public static Singleton getInstance(){

           if(instance == null){

               instance = new Singleton();

           }

           return instance;

        }

    }

    写法三 另一种简单的写法 (饿汉式2.0)

    class Singleton{

        public static final Singleton instance = new Singleton();

        private Singleton(){}

    }

    饿汉式和懒汉式的区别

    • 饿汉式是空间换时间,懒汉式是时间换空间
    • 在多线程访问时,饿汉式不会创建多个对象,而懒汉式有可能会创建多个对象
    • 如果考虑线程安全问题,用饿汉式
    • 如果不考虑线程安全问题,用懒汉式
  • 相关阅读:
    集合合并
    非递减有序集合合并
    有序的双链表的实现
    单链表的实现
    构造有序的单链表
    约瑟夫环问题
    javaweb学习笔记
    Intellij IDEA快捷键
    JAVA:创建类和对象
    JAVA:成员变量和局部变量的区别
  • 原文地址:https://www.cnblogs.com/ivan5277/p/10159674.html
Copyright © 2011-2022 走看看