package day25.thread;/**
/*** @author Mr Chen* @create 2018-10-09 18:37* 单例测试模式:保证类在内存中只有一个对象*/
public class Dome01 {public static void main(String[] args){Singleton s1 = Singleton.s;                      //成员变量被私有,不能用类名.调用Singleton s2 = Singleton.s;System.out.println(s1==s2);//        Singleton s1 = Singleton.getS();
//        Singleton s2 = Singleton.getS();
//
//        System.out.println(s1==s2);}
}
/*
//饿汉式
class Singleton{//1、私有构造方法,其他类不能访问该构造方法private Singleton(){}//2、创建本类对象
//    public Singleton s = new Singleton();虽说私有了,别的不能访问,但是自己还是可以访问的,这里创建的s,是成员变量,必须要用成员变量调用它。private static Singleton s = new Singleton();//但是这里没有对象,只能用类名点对象调用//就是说如果是非静态的成员变量,只能用对象点。如果是静态成员变量,可以用类名.调用//3、对外提供公共的访问方法public static Singleton getS(){return s;}
}*///懒汉式/*
class Singleton{//1、私有构造方法,其他类不能访问该构造方法private Singleton(){}//2、声明一个引用
//    public Singleton s = new Singleton();虽说私有了,别的不能访问,但是自己还是可以访问的,这里创建的s,是成员变量,必须要用成员变量调用它。private static Singleton s;//但是这里没有对象,只能用类名点对象调用//就是说如果是非静态的成员变量,只能用对象点。如果是静态成员变量,可以用类名.调用//3、对外提供公共的访问方法public static Singleton getS(){//线程1等待,线程2访问if (s==null){s=new Singleton();}return s;}
}*/class Singleton{//1、私有构造方法,其他类不能访问该构造方法private Singleton(){}//2、声明一个引用public static final Singleton s =new Singleton();//但是这里没有对象,只能用类名点对象调用}/*
饿汉式与懒汉式的区别
1、饿汉式:用空间换来了时间;懒汉式:用时间换空间(不推荐)
2、在多线程访问时,饿汉式不会创建多个对象,懒汉式有可能会创建多个对象*/

  

转载于:https://www.cnblogs.com/sunyubin/p/9764321.html

单例测试模式中【饿汉式】与【懒汉式】的区别相关推荐

  1. Singleton模式(单例模式) 饿汉式和懒汉式

    目的:整个应用中有且只有一个实例,所有指向该类型实例的引用都指向这个实例. 好比一个国家就只有一个皇帝(XXX),此时每个人叫的"皇帝"都是指叫的XXX本人; 常见单例模式类型: ...

  2. java学习之单例模式(饿汉式与懒汉式)

    ---恢复内容开始--- 设计模式:解决某一类问题最行之有效的方法 java中有23种设计模式 今天学习其中一种:单例设计模式:解决一个类在内存只存在一个对象 想要保证对象唯一. 1.为了避免其他程序 ...

  3. Java实现单例模式之饿汉式、懒汉式、枚举式,带测试。

    Java实现单例的3种普遍的模式,饿汉式.懒汉式.枚举式. 具体代码如下: package com.lcx.mode;/*** * 饿汉式单例,不管以后用不用这个对象,我们一开始就创建这个对象的实例, ...

  4. 饿汉式 and 懒汉式

    单例设计模式 所谓类的单例设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例,并且该类只提提供一个取得其对象实例的方法 单例模式有两种方式: 饿汉式 懒汉式 饿汉式 构造 ...

  5. 单例模式(饿汉式和懒汉式)

    以前学习单例的时候,只理解了简单部分.这次看DRP,对单例的饿汉式和懒汉式有了一些认识和对比. 在实际的开发中,有些地方需要一个类只有一个实例.比如:网站在线人数的计数器,再比如IDE中的工具箱之类的 ...

  6. 单例模式饿汉式与懒汉式详解

    单例模式饿汉式与懒汉式详解 步骤: 私有构造方法,使得在类的外部不能调用此方法,限制产生多个对象 类初始化时,区分饿汉式与懒汉式的区别 对外部提供调用方法,将创建的对象返回,只能通过类来调用 饿汉式: ...

  7. C++常用设计模式:单例设计模式(饿汉式、懒汉式)

    一.单例模式的设计套路: 思考:如何绕过常规的构造函数,提供一种机制来保证一个类只有一个实例. 1. 铺垫:静态成员函数特性的总结 使用static关键字修饰类成员函数时,就是把这个成员函数升级成了全 ...

  8. java饿汉式有啥作用,Java面试 - 什么是单例设计模式,为什么要使用单例设计模式,如何实现单例设计模式(饿汉式和懒汉式)?...

    什么是单例设计模式? 单例设计模式就是一种控制实例化对象个数的设计模式. 为什么要使用单例设计模式? 使用单例设计模式可以节省内存空间,提高性能.因为很多情况下,有些类是不需要重复产生对象的.如果重复 ...

  9. 单例设计模式(饿汉式VS懒汉式)

    什么是单例模式 单例(单个的实例) 1.所谓单例设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法 2.单例设计模式有两种方式:饿 ...

最新文章

  1. java引用类型使用场景_下面有关java的引用类型,说法正确的有?
  2. 深度学习核心技术精讲100篇(十九)--GBDT(梯度提升树) 和 Resnet (残差网络)的原理
  3. 解决matplotlib中文乱码问题
  4. ASP.NET中WebForms简介与搭建HelloWorld项目
  5. 降采样处理 resample函数
  6. Spark 框架安全认证实现
  7. pb将datawindow数据导出EXCEL
  8. plc tcp ip通讯怎么只能连一个客户端_一款Ethernet/IP和Modbus TCP转OPC UA产品
  9. git 远程代码被覆盖
  10. DNS反劫持的几种方式
  11. VS 201x C++ 编译错误解决方法集
  12. Vue脚手架搭建以及创建Vue项目流程
  13. 注册表-注册表被禁用如何处理
  14. 如何制作六一儿童节答题测试H5页面?
  15. 木瓜移动创始人沈思专访——从平台到孵化器
  16. ios html5不显示图片,为什么iOS上的Safari不显示我的HTML5视频海报?
  17. GitHub 上受欢迎的 Android UI Library 整理
  18. 我的朋友老曹,居然用数据工具搞了这么多事
  19. folium,绘制线段,连接成多边形
  20. 高等代数教材及学习指导书的推荐

热门文章

  1. 4566: [Haoi2016]找相同字符 SAM
  2. Android环境变量的设置(详细图解版)
  3. This is A PostXing Test
  4. 网络协议关系拓扑图 很全面 很好
  5. 深入理解PHP原理之变量分离/引用(Variables Separation)
  6. ASP.NET抓取其他网页代码
  7. ASP.NET 2.0中GRIDVIEW排序
  8. 提高IIS网站服务器的效率的八种方法 (转载)
  9. 使用GoAccess分析Nginx日志
  10. C++拾取——使用stl标准库生成等差、等比数列的方法