单例测试模式中【饿汉式】与【懒汉式】的区别
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
单例测试模式中【饿汉式】与【懒汉式】的区别相关推荐
- Singleton模式(单例模式) 饿汉式和懒汉式
目的:整个应用中有且只有一个实例,所有指向该类型实例的引用都指向这个实例. 好比一个国家就只有一个皇帝(XXX),此时每个人叫的"皇帝"都是指叫的XXX本人; 常见单例模式类型: ...
- java学习之单例模式(饿汉式与懒汉式)
---恢复内容开始--- 设计模式:解决某一类问题最行之有效的方法 java中有23种设计模式 今天学习其中一种:单例设计模式:解决一个类在内存只存在一个对象 想要保证对象唯一. 1.为了避免其他程序 ...
- Java实现单例模式之饿汉式、懒汉式、枚举式,带测试。
Java实现单例的3种普遍的模式,饿汉式.懒汉式.枚举式. 具体代码如下: package com.lcx.mode;/*** * 饿汉式单例,不管以后用不用这个对象,我们一开始就创建这个对象的实例, ...
- 饿汉式 and 懒汉式
单例设计模式 所谓类的单例设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例,并且该类只提提供一个取得其对象实例的方法 单例模式有两种方式: 饿汉式 懒汉式 饿汉式 构造 ...
- 单例模式(饿汉式和懒汉式)
以前学习单例的时候,只理解了简单部分.这次看DRP,对单例的饿汉式和懒汉式有了一些认识和对比. 在实际的开发中,有些地方需要一个类只有一个实例.比如:网站在线人数的计数器,再比如IDE中的工具箱之类的 ...
- 单例模式饿汉式与懒汉式详解
单例模式饿汉式与懒汉式详解 步骤: 私有构造方法,使得在类的外部不能调用此方法,限制产生多个对象 类初始化时,区分饿汉式与懒汉式的区别 对外部提供调用方法,将创建的对象返回,只能通过类来调用 饿汉式: ...
- C++常用设计模式:单例设计模式(饿汉式、懒汉式)
一.单例模式的设计套路: 思考:如何绕过常规的构造函数,提供一种机制来保证一个类只有一个实例. 1. 铺垫:静态成员函数特性的总结 使用static关键字修饰类成员函数时,就是把这个成员函数升级成了全 ...
- java饿汉式有啥作用,Java面试 - 什么是单例设计模式,为什么要使用单例设计模式,如何实现单例设计模式(饿汉式和懒汉式)?...
什么是单例设计模式? 单例设计模式就是一种控制实例化对象个数的设计模式. 为什么要使用单例设计模式? 使用单例设计模式可以节省内存空间,提高性能.因为很多情况下,有些类是不需要重复产生对象的.如果重复 ...
- 单例设计模式(饿汉式VS懒汉式)
什么是单例模式 单例(单个的实例) 1.所谓单例设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法 2.单例设计模式有两种方式:饿 ...
最新文章
- java引用类型使用场景_下面有关java的引用类型,说法正确的有?
- 深度学习核心技术精讲100篇(十九)--GBDT(梯度提升树) 和 Resnet (残差网络)的原理
- 解决matplotlib中文乱码问题
- ASP.NET中WebForms简介与搭建HelloWorld项目
- 降采样处理 resample函数
- Spark 框架安全认证实现
- pb将datawindow数据导出EXCEL
- plc tcp ip通讯怎么只能连一个客户端_一款Ethernet/IP和Modbus TCP转OPC UA产品
- git 远程代码被覆盖
- DNS反劫持的几种方式
- VS 201x C++ 编译错误解决方法集
- Vue脚手架搭建以及创建Vue项目流程
- 注册表-注册表被禁用如何处理
- 如何制作六一儿童节答题测试H5页面?
- 木瓜移动创始人沈思专访——从平台到孵化器
- ios html5不显示图片,为什么iOS上的Safari不显示我的HTML5视频海报?
- GitHub 上受欢迎的 Android UI Library 整理
- 我的朋友老曹,居然用数据工具搞了这么多事
- folium,绘制线段,连接成多边形
- 高等代数教材及学习指导书的推荐
热门文章
- 4566: [Haoi2016]找相同字符 SAM
- Android环境变量的设置(详细图解版)
- This is A PostXing Test
- 网络协议关系拓扑图 很全面 很好
- 深入理解PHP原理之变量分离/引用(Variables Separation)
- ASP.NET抓取其他网页代码
- ASP.NET 2.0中GRIDVIEW排序
- 提高IIS网站服务器的效率的八种方法 (转载)
- 使用GoAccess分析Nginx日志
- C++拾取——使用stl标准库生成等差、等比数列的方法