JavaSE学习--单例设计模式
单例设计模式
功能:保证一个类在内存中的对象唯一性。
需求:必须对于多个程序使用同一个配置信息对象时,就需要保证该对象的唯一性。
保证唯一性的方式:
1,不允许其他程序用new创建该类对象。
2,在该类创建一个本类实例。
3,对外提供一个方法让其他程序可以获取该对象。
实现步骤:
1,私有化该类构造函数。
2,通过new在本类中创建一个本类对象。
3,定义一个公有的方法,将创建的对象返回。
单例设计举例:
1. 在本类中创建该对象的实例
2. 构造函数私有化,使得构造函数只能在本类中调用
3. 静态方法返回创建的该类的实例
经过以上3步的操作,内存中只存在一个Single类的实例,即图中的0x0045
单利模式在工程中的使用:
饿汉式:
class Single{privatestatic Single s = new Single();privateSingle(){}publicstatic Single getInstance(){return s;}
}
类一加载,对象就已经存在了。
懒汉式
class Single2 {privatestatic Single2 s = null;privateSingle2(){}publicstatic Single2 getInstance(){if(s==null)s= new Single2();returns;}
}
类加载进来,没有对象,只有调用了getInstance方法时,才会创建对象。即延迟加载形式。
JavaSE学习--单例设计模式相关推荐
- 结合Spring源码学习单例设计模式
之前我学习了 Spring Ioc,明白了 Spring IoC 容器是一个管理Bean的容器,在Spring的定义中,它要求所有的IoC容器都需要实现接口 BeanFactory ,它是一个顶级容器 ...
- JavaSE面向对象:继承、多态、Super、Object类、重写、static、final、静态成员、懒汉式、饿汉式、单例设计模式、初始化块、抽象类、抽象方法、接口
感谢尚硅谷免费提供的视频 继承 ** 理解 ** 生活中的继承:子女继承了父母的财产或相貌或才华 java中的继承:一个类不用自己定义属性或方法,就已经具备了另一个类的属性和方法 把这种现象称为jav ...
- Python 学习笔记 类的封装 类的继承 多态继承 类方法和静态方法 单例设计模式
一.类的封装: 1.概念: 广义的封装:函数和类的定义本身,就是封装的体现 狭义的封装:一个类的某些属性,在使用的过程 中,不希望被外界直接访问,而是把这个属性给作为私有的[只有当前类持有],然后暴露 ...
- 单例设计模式(拉勾教育大数据学习笔记)
单例设计模式的概念: 在某些特殊场合中,一个类对外提供且只提供一个对象时,这样的类叫做单例类,而设计单例的流程和思想叫做单例设计模式. 单例设计模式的实现流程: 1. 私有化构造方法,使用privat ...
- 多个if用什么设计模式_抽丝剥茧——单例设计模式
单例设计模式 兄弟们好,今天是最后一个设计模式了,也是我们最熟悉的单例设计模式,可以说这个设计模式是我们最先接触到的设计模式了.想当年学习JavaSE的时候,老师聊到一个「饿汉式和懒汉式」,我还纠结了 ...
- 【Java】day9--main方法、单例设计模式、继承、方法重写部分知识点总结
(一)main方法 jvm调用main方法,jvm也是一个程序 main方法详解: public:公共 保证该类在任何情况下,jvm都对其方法可见. stat ...
- Java笔记017-类变量和类方法、理解main方法语法、代码块、单例设计模式、final关键字
目录 面向对象编程(高级部分) 类变量和类方法 类变量-提出问题 传统方法解决 问题分析: 类变量快速入门 类变量内存布局 什么是类变量 如何定义类变量定义语法: 如何访问类变量 定义语法: 类变量使 ...
- Java查漏补缺(08)关键字:static、单例设计模式、理解main方法、类的成员之四:代码块、final关键字、抽象类、接口、内部类、枚举类、注解、包装类
Java查漏补缺(08)关键字:static.单例设计模式.理解main方法.类的成员之四:代码块.final关键字.抽象类.接口.内部类.枚举类.注解.包装类 本章专题与脉络 1. 关键字:stat ...
- python基础知识整理 第七节:单例设计模式、异常、模块、包、制作模块、文件
1.单例设计模式 单例设计模式就是为对象在内存中分配空间的时候,永远只会返回一个唯一的固定的内存空间.这样就能保证在内存中这个类的对象只有唯一的一份,这个就叫做单例.(为对象分配空间使用的是内置方法_ ...
- 第三次学JAVA再学不好就吃翔(part117)--单例设计模式
学习笔记,仅供参考,有错必纠 文章目录 多线程 单例设计模式 饿汉式 懒汉式 第三种格式 Timer类 线程的五种状态 多线程 单例设计模式 单例设计模式,即保证类在内存中只有一个对象,如何保证类在内 ...
最新文章
- 华为官方:寻找AI开发者!
- .net数据根据字段进行分类(linq语句)
- java的autotype,关于 fastjson 异常 autoType is not support 问题分析解决
- Hdu 1283 钱币兑换问题
- 推荐系统炼丹笔记:阿里DMIN多重兴趣网络
- 论文浅尝 | 变分知识图谱推理:在KG中引入变分推理框架
- (转)C# 根据当前时间获取,本周,本月,本季度等时间段 .Net中Exception
- SpringBoot默认日志配置输出级别
- winafl 源码分析
- linux 非root身份安装java_Linux非root用户安装jdk和tomcat
- 2017乌鲁木齐ICPC: I. A Possible Tree(带权并查集)
- mybatis --XML 映射配置文件
- 刺激战场测试fps软件,绝地求生刺激战场通过GLTools实时显示游戏帧数方法
- 基于HTML5+JavaScript+CSS3+PHP的网上商城电子商务购物网站设计
- 上海市第三届上海市青少年算法竞赛(小学组)线上同步赛 数洞洞
- java模板引擎 jade_jade模板引擎
- VAST2 0视频广告投放解决方案改变视频网站未来技术格局
- 编译警告:backslash and newline separated by space
- your cuda software stack is old.we fall back to the NIVIDIA driver for some compilation. Update your
- 快来看,你的盒子也能用OpenCV NPU后端啦