JAVA基础笔记(复习)-单列设计模式 - 概述与体现
来源:互联网 发布:提升网站流量软件 编辑:程序博客网 时间:2024/06/05 05:00
设计模式:对问题行之有效的解决方式,其实它是一种思想
23种设计模式之一 ------- 单例设计模式:
可以保证一个类在内存中的对象唯一性。
比如:多程序读取一个配置文件时,建议配置文件封装成对象。会方便操作其中数据,又要保证多个程序读到的是同一个配置文件对象,就需要该配置文件对象在内存中是唯一的。
如何保证对象唯一性呢?
思想:
1,不让其他程序创建该类对象。
2,在本类中创建一个本类对象。
3,对外提供方法,让其他程序获取这个对象。
步骤:
1,因为创建对象都需要构造函数初始化,只要将本类中的构造函数私有化,其他程序就无法再创建该类对象;
2,就在类中创建一个本类的对象;
3,定义一个方法,返回该对象,让其他程序可以通过方法就得到本类对象。(作用:可控)
代码体现:
1,私有化构造函数;
2,在本类中创建并私有化一个本类静态对象;
3,定义一个公有的静态方法,返回该对象。
图解:看下面的图,因为s是在共享区,所以无论创建多少次对象都会把共享的s 地址返回去。实现了对象的唯一性,一定要理解static静态关键字,不能再想成,创建一个对象,就要new一次,(s随着类的加载而执行,并且初始化了,在这个类未消失之前,该s是一直存在的。)
饿汉式
类一加载,对象就已经存在了
class Single{
private Single(){};
private static Single s = new Single();
public static Single getInstance(){
return s;
}
}
懒汉式
类加载进来,没有对象,只有调用了getInstance方法时,才会创建对象,延迟加载形式
class Single{
private static Single s = null;
private Single(){};
public static Single getInstance(){
if(s == null){
s = new Single();
}
return s;
}
}
在多线程中,会出现不同步的问题,不能保证对象的唯一性。
- JAVA基础笔记(复习)-单列设计模式 - 概述与体现
- Java 基础一些代码练习笔记(设计模式-单列模式)
- java笔记_Map集合与单列设计模式
- 设计模式复习笔记 (1) 设计模式概述
- java单列设计模式
- Java单列设计模式
- java基础语法(二)--单列模式
- java设计模式--单列模式
- java设计模式-单列模式
- java 设计模式-单列模式
- Java设计模式 单列模式
- 黑马程序员——JAVA基础之单列设计模式
- java 中的单列设计模式
- java设计模式之单列
- java设计模式—单列模式
- Java设计模式——单列模式
- 浅谈JAVA设计模式--单列模式
- iOS开发笔记>> 单列设计模式
- 黑马程序员--一十四、正则表达式
- 抽象类
- JS : delete
- 《数字图像处理与分析》结课作业去雾报告
- 程序员专属笑话,累的时候看看放松一下以便继续努力
- JAVA基础笔记(复习)-单列设计模式 - 概述与体现
- Android中 内存溢出解决方法(OOM)
- 使用kali破解linux登录密码
- 如何学习一门新的知识
- 死锁原因及解决、避免办法
- 数据结构--排序
- Altium Designer Library 介绍 - 3M Card CompactFlash
- Oracle Sequence不设置cache参数的几个潜在问题
- Image Tips for Windows Phone 7 / 8