为了账号安全,请及时绑定邮箱和手机立即绑定

模式的秘密---单例模式

难度中级
时长30分
学习人数
综合评分9.63
276人评价 查看评价
9.8 内容实用
9.6 简洁易懂
9.5 逻辑清晰
  • 单例模式: 懒汉模式 和饿汉模式的区别
    查看全部
  • 饿汉模式与懒汉模式的优缺点: 饿汉模式:加载类时比较慢,因为当类被加载时就会去实例化对象,但运行时获取对象的速度比较快,线程安全的. 懒汉模式:加载类时比较快,因为当类被加载时并没有去实例化对象,但运行时获取对象的速度比较慢,因为需要一个创建实例的过程,线程不安全的.
    查看全部
  • 2.懒汉模式 步骤: 1.构造方法私有化 2.声明一个类的引用但不实例化,依然使用private static修饰. 3.创建一个公共静态方法,方法中需要判断该实例是否为null,即是否被实例化过,如果为null则创建一个实例,最后都返回该声明的引用. public class SingleTon{ //构造方法私有化 private SingleTon(){ } //声明一个类的引用,使用private static修饰. private static SingleTon instance; //创建返回该实例的方法,使用是public static修饰,方法中判断实例是否已经被实例化过. public static SingleTon getInstance(){ if(instance==null){ //第一次使用时会实例化该引用. instance=new SingleTon(); } return instance; } } 饿汉模式与懒汉模式区别在于对象在什么时候被实例化. 饿汉模式:当类被加载时就会去实例化对象,不管是否使用该对象. 懒汉模式:当外部要使用该对象时才会去实例化该对象,即当外部第一次调用该方法时才会去实例化对象,以后再次调用时直接返回该实例后的对象.
    查看全部
  • 常用的单例模式有两种: 1.饿汉模式 2.懒汉模式 创建实例是通过构造方法实现的,只要有构造方法就可以创建实例,没有为类手动创建构造方法,则系统会默认创建一个无参公共的构造方法. 饿汉模式 步骤: 1.构造方法私有化. (被private修饰的变量与方法只能在本类使用,因此外界无法通过构造方法直接创建对象,只能通过类名调用该类的public静态成员与方法.) 2.本类中直接创建一个类的唯一实例,并且是一个私有静态的实例. 3.创建一个公共的静态方法来返回该实例,外界可以直接通过类名调用该方法获取得到实例对象. public class SingleTon{ //构造方法私有化 private SingleTon(){ } //创建类的唯一实例,使用private static修饰. private static SingleTon instance=new SingleTon(); //创建返回该实例的方法供外界使用,必须是public static修饰. public static SingleTon getInstance(){ return instance; } } 用==号就能判断两个对象是否是同一个实例对象.==号判断引用的地址是否一样. 对象的equals方法不重写时作用与==号相同,判断引用的地址是否一样. String中的equals方法默认被重写,因此只要两个对象的内容相同,则返回true. 因为该唯一的实例是在该类被加载时就会去创建,因此称为饿汉模式.
    查看全部
  • 设计模式其实就是一种经验,长期积累下来的,人们普遍认可的一种编程方式。 使用设计模式可以让代码的可靠性提高。
    查看全部
    0 采集 收起 来源:单例模式简介

    2016-04-26

  • 饿汉模式:加载类时比较慢,但运行时获取对象的速度比较快,线程安全 1. 将构造方法私有化,不允许外部直接创建对象 2. 声明类的唯一实例,使用private static修饰,并实例化 3. 提供一个用于获取实例的方法,使用public static修饰 懒汉模式:加载类时比较快,但运行时获取对象的速度比较慢,线程不安全,(解决方法:在getinstance 方法用synchronized修饰) 1. 将构造方法私有化,不允许外部直接创建对象 2. 声明类的唯一实例,使用private static修饰,不实例化 3. 提供一个用于获取实例的方法,使用public static修饰,如果为null,就实例化
    查看全部
  • 饿汉模式
    查看全部
  • 懒汉模式
    查看全部
  • 单例模式: 第一:复写无参数的私有构造函数,这样就限制了在外部类就无法 类名 变量名=new 类名(); 第二:定义一个私有 静态的 该类的变量; 第三:提供一个接口,public 类名 getInstance()的方法,公有 静态 public static Instances getInstance(){ if (instance==null) { instance=new Instances(); } return instance; }
    查看全部
  • 单列模式,分为饿汉模式和懒汉模式,
    查看全部
  • 封装实例
    查看全部
  • 单例模式有两种懒汉和饿汉
    查看全部
  • 饿汉模式:类加载时,进行实例化,加载类慢,但获取对象快,线程安全 懒汉模式:类加载是,不实例化,加载类快,但获取对象慢,线程不安全。
    查看全部
  • 单例模式之懒汉模式,只在这个类需要被实例化时,才进行第一次的实例化。 1、构造方法私有化 2、只声明实例,但不进行实例化 3、提供一个可供外部访问的实例化方法,用于在需要的时候进行实例化
    查看全部
  • 1、将构造方法私有化,避免外部实例化这个类 2、通过内部调用构造方法来创建类的实例,但为了外部访问,将变量声明为static的 3、提供一个可供外部访问的类的方法,来获取这个类的实例
    查看全部

举报

0/150
提交
取消
课程须知
本课程是 Java 开发课程的高级课程,如果您是新手,建议先移步 《Java入门第一季》和《Java入门第二季》
老师告诉你能学到什么?
1、 了解设计模式 2、 理解单例模式的含义及应用场合 3、 掌握单例模式中饿汉模式和懒汉模式的使用 4、 理解两种模式的区别

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!