Java中单例设计模式是什么,java中单例设计模式
设计模式:对问题行之有效的解决方式,其实它是一种思想
1.单例设计模式
解决的问题:就是可以保证一个类在内存中的对象的唯一性
必须对于多个程序使用同一个配置信息对象时,就需要保证该对象的唯一性
如何保证对象的唯一性呢?
1.不允许其他程序用new创建该类对象
2.在该类创建一个本类实例
3.对外提供一个方法让其他程序可以获取该对象。
步骤:
1.私有话该类的构造函数
2.通过new在本类创建一个本类的对象
3.定义一个公有的方法,将创建的对象返回
单例设计的内存的理解:
内存中:栈、堆、方法区(方法列表和静态区)
*/
class Single{//简称饿汉式单例模式 --- 类一加载就存在了 --- 开发常用的
private static Single s = new Single();//成员变量私有化,以便可以控制
private Single(){};
public static Single getInstance(){
return s;
}
}
public class SingleDemo {
public static void main(String[] args){
Single s1 = Single.getInstance();
Single s2 = Single.getInstance();
System.out.println("s1"+s1+"\n"+"s2"+s2);
TestSingle t1 = TestSingle.getInstance();
TestSingle t2 = TestSingle.getInstance();
t1.setNum(10);
t2.setNum(20);
System.out.println(t1.getNum());
System.out.println(t2.getNum());
}
}
class TestSingle{
private int num;
//如果想要保证单例
private static TestSingle t = new TestSingle();
private TestSingle(){};
public static TestSingle getInstance(){
return t;
}
public void setNum(int num){
this.num = num;
}
public int getNum(){
return num;
}
}
Java中单例设计模式是什么,java中单例设计模式相关推荐
- java饿汉式有啥作用,Java面试 - 什么是单例设计模式,为什么要使用单例设计模式,如何实现单例设计模式(饿汉式和懒汉式)?...
什么是单例设计模式? 单例设计模式就是一种控制实例化对象个数的设计模式. 为什么要使用单例设计模式? 使用单例设计模式可以节省内存空间,提高性能.因为很多情况下,有些类是不需要重复产生对象的.如果重复 ...
- Java单例设计模式(实现Java的一个类只有一个对象)
单例设计模式的定义:单例设计模式是一种软件设计模式,在它的核心包含一个称为单例类的核心类. 核心便是希望一个类只有一个对象. 如何实现类在内存中只有一个对象呢? 第一步:构造私有: 第二步:本身提供 ...
- java 设计模式 示例_Java中的策略设计模式-示例教程
java 设计模式 示例 策略模式是行为设计模式之一 . 当我们对一个特定的任务有多种算法并且客户决定在运行时使用的实际实现时,将使用策略模式. 策略模式也称为策略模式 . 我们定义了多种算法,并让客 ...
- 快手高级Java四轮面试题:设计模式+红黑树+Java锁+Redis等
快手Java一面(一个小时十分钟) 1.自我介绍 2.说说B+树和B树的区别,优缺点等? 3聊聊Spring,主要IOC等等 4多线程JUC包下的一些常见的类,比如CountDownLatch.Sem ...
- 最新快手面试题(含总结):设计模式+红黑树+Java锁+Redis等
每年春节后两个月都是招聘高峰期,很多想换工作的职场人士都会选择在此时换一份工作,毕竟一年之计在于春,对于公司和个人而言都是一个新的开始. 大家在春节长假身心得到放松后,准备摩拳擦掌的找工作了,不过大部 ...
- Java设计模式(疯狂Java联盟版)
目录(?)[+] 1. 设计模式.................................................................................... ...
- java设计模式有哪些(java设计模式刘伟课后答案)
Java设计模式之Flyweight模式是怎样的? Flyweight的内部状态是用来共享的,Flyweight factory负责维护一个对象存储池(Flyweight Pool)来存放内部状态的对 ...
- Java设计模式(二)创建型设计模式
文章目录 三 创建型设计模式 3.1 单例设计模式 3.1.1 饿汉式(线程安全) 3.1.2 懒汉式(线程不安全) 3.1.3 优缺点 3.1.4 补充 3.1.5 框架中的使用 3.1.4.1 S ...
- 【源码分析设计模式 5】Java I/O系统中的装饰器模式
一.基本介绍 动态地将责任附加到对象上.若要扩展功能,装饰者提供了比继承更有弹性的替代方案. 二.装饰器模式的结构 1.Component,抽象构件 Component是一个接口或者抽象类,是定义我们 ...
- 详解23种设计模式(基于Java)—— 结构型模式(三 / 五)
目录 3.结构型模式(7种) 3.1.代理模式 3.1.1.概述 3.1.2.结构 3.1.3.静态代理 3.1.4.JDK动态代理 3.1.5.CGLIB动态代理 3.1.6.三种代理的对比 3.1 ...
最新文章
- 10、软件质量工程师指南 - 软件项目角色指南系列文章
- jQuery自定义漂亮的下拉框插件8种效果演示
- [推举]网络工程师必懂的专业术语
- c语言锁屏密码程序,求一个VB锁屏程序的源文件
- 【二维差分】Monitor
- 导航栏使用引导、下载资源支持试读、CSDN年终重磅福利来袭……
- R语言与机器学习学习笔记(分类算法)
- 本周题解(9.12)
- 【强推】10个有趣的Python程序
- 简简单单 谁说雅虎助手卸载不掉(转)
- 深度解读B2B与B2C营销策略的差异
- 《数据结构教程(第五版) 李春葆主编》判断题(第一章-第十章)
- Git 分支合并到主干
- 基于Linux的及时通信软件
- 2022视频编码招聘面经
- R语言开发之CSV文件的读写操作了解下
- 7-6 7-7 7-8 7-9 7-10
- python语言编写的modbus协议_基于Python的ModbusTCP客户端实现
- 算法刷题时经常用到的前缀和思想
- 【调剂】北京林业大学工学院程朋乐副教授课题组拟招收计算机、自动化等专业调剂生...