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

    Java中的单例模式

    设计模式是软件开发过程中经验的积累

    一、单例模式

    1、单例模式是一种常用的软件设计模式,通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统资源。如果希望在系统中某个类的对象只能存在一个,单例模式是最好的解决方案。

    2、单例模式的三个要点(面试常问):

      某个类只能有一个实例,不能new对象

         必须自行创建这个实例

         必须自行向整个系统提供这个实例(创建一个公开方法,返回这个对象)

    代码演示之懒汉式:

    /*
     * 单例模式(懒汉式):
     * 1、保证外部不能new对象
     * 2、类内部自己创建对象
     * 3、创建一个公开方法,返回这个对象
     * 这是简单的写法,在我们学了多线程之后,这个懒汉式写法会有些不同的地方
     */
    public class SingleTon {
        private SingleTon() {        
        }
        private static SingleTon instance;
        public static SingleTon getInstance(){
            if(instance==null){
                instance=new SingleTon();
            }
            return instance;
        }
    
    }
    /*
    *测试类
    */
    public class Test {
        public static void main(String[] args) {
            SingleTon n=SingleTon.getInstance();
            SingleTon n2=SingleTon.getInstance();
            
            System.out.println(n.toString());
            System.out.println(n2.toString());
        }
    
    }

     运行截图:

    代码演示之饿汉式:

    /*
     * 饿汉式
     */
    public class SingleTon {
        private SingleTon() {
        }
        private static final SingleTon instance=new SingleTon();
        public static SingleTon getInstance(){
            return instance;
        }
    }
    /*
     * 测试类
     */
    public class Test {
        public static void main(String[] args) {
            SingleTon n=SingleTon.getInstance();
            SingleTon n2=SingleTon.getInstance();
            
            System.out.println(n.toString());
            System.out.println(n2.toString());
        }
    }

    运行截图:

  • 相关阅读:
    WEB 应用缓存解析以及使用 Redis 实现分布式缓存
    MVC 架构模式
    用两个栈实现队列
    重建二叉树
    从尾到头打印链表
    替换空格
    二维数组中的查找
    二叉树与线索二叉树
    OpenYurt:延伸原生 Kubernetes 到边缘场景下的落地实践
    开放下载!解锁 Serverless 从入门到实战大“橙”就
  • 原文地址:https://www.cnblogs.com/shen-hua/p/5441714.html
Copyright © 2011-2022 走看看