zoukankan      html  css  js  c++  java
  • Java设计模式--单列设计模式

    设计模式:解决某一类问题行知最有效的方法。java有23种设计模式

    单列设计模式:

    解决一个类在内存中只存在一个对象

    思路:(要保证对象的唯一性)

    1.为了避免其它程序建立该对象,先禁止替他类创建改对象,(构造函数私有化)

    2.还能让其他程序可以访问到该对象,只能在该类中自己生成一个对象

    3.为了其他程序可以访问到当中的值,可以设计一些方法获取到值。

    当然他们当中有两种方式:懒汉式,饿汉式。

    (其中两者的区别是在内存当中的何时创建)

    下面是饿汉式的代码:(写法)(开发一般用这个方法)

    //创建一个学生类的单列设计模式
    class Student
    {
        private String name="zhulang"; 
        //构造函数私有化
        private Student(){};
        //静态自己创建自己的对象
        private static Student s =new Student();
        
        //静态方法获取到该对象
        public static String getInstance()
        {
            return s.name;
        }

    懒汉式:(面试时一般用这个)

    原理,对象是在方法被调用时,才初始化,也叫做对象的延时加载

    如下:只有Student类进内存。但是对象没有存在,只getInstance方法是才被创建

    class Student
    {
        private String name = "zhulang";
    
        // 构造函数私有化
        private Student()
        {
        };
    
        // 静态自己创建自己的对象
        private static Student s = null;
    
        // 静态方法获取到该对象
        public static String getInstance()
        {
            //对象是否被其他程序调用 
            if (s == null)
            {
                //上锁
                synchronized (Student.class)
                {
                    if (s == null)
                        s = new Student();
                }
            }
            return s.name;
        }
    
    }
  • 相关阅读:
    订单超时30分钟自动取消
    获取网络时间
    aspose.words通过域导出word文件
    Excel导入时,解析日期类型单元格的办法。
    ALTER TABLE 报1062
    mysql快速生成测试数据
    GP 源码编译安装
    Kafka 集群群起/关闭脚本
    Zookeeper 常用命令
    OGG 同步无主键表且目标表多一个隐藏字段
  • 原文地址:https://www.cnblogs.com/ganwei/p/4556195.html
Copyright © 2011-2022 走看看