单例模式
来源:互联网 发布:贝叶斯网络分析软件 编辑:程序博客网 时间:2024/03/29 07:00
1. 什么是单例模式
a)单例模式确保一个类里面只有一个实例,自行提供这个实例并向整个系统提供这个实例。
2. 单例模式的种类
单例模式分为两种:懒汉式和饿汉式
3. 单例模式的特点
a)一个类只能有一个实例。
b)自己创建这个实例。
c)整个系统都要使用这个实例。
4. 单例模式的优点是什么
a)单例模式,能够避免实例重复创建。
b)单例模式,应用于避免存在多个实例引起程序逻辑错误的场合。
单例模式,较节约内存。
单例模式
懒汉式 代码
public class Singleton {
private static Singleton uniqueInstance = null;
private Singleton() {
// Exists only to defeat instantiation.
}
public static Singleton getInstance() {
if (uniqueInstance == null) {
uniqueInstance = new Singleton();
}
return uniqueInstance;
}
// Other methods...
}
饿汉式代码
class Single{
private static Single onlyone = new Single();
private String name;
public static Single getSingle() {
return onlyone;
}
private Single() {}
}
public class TestSingle{
public static void main(String args[]) {
Single s1 = Single.getSingle();
Single s2 = Single.getSingle();
if (s1==s2){
System.out.println("s1 is equals to s2!");
}
}
}
Singleton模式主要作用是保证在Java应用程序中,一个类Class只有一个实例存在。在很多操作中,比如建立目录 数据库连接都需要这样的单线程操作。一些资源管理器常常设计成单例模式。
外部资源:譬如每台计算机可以有若干个打印机,但只能有一个Printer Spooler,以避免两个打印作业同时输出到打印机中。每台计算机可以有若干个通信端口,系统应当集中管理这些通信端口,以避免一个通信端口被两个请求同时调用。
内部资源,譬如,大多数的软件都有一个(甚至多个)属性文件存放系统配置。这样的系统应当由一个对象来管理这些属性文件。
- 单例、单例模式
- 单例模式-多线程单例模式
- 单件模式(单例模式)
- 设计模式------单例模式
- 设计模式------单例模式
- 设计模式-单例模式
- 设计模式 - 单例模式
- 设计模式---单例模式
- 设计模式---单例模式
- PHP模式-单例模式
- 【设计模式】单例模式
- 设计模式-单例模式
- 设计模式----单例模式
- 设计模式--单例模式
- 设计模式-单例模式
- 单例模式(单子模式)
- 设计模式-单例模式
- [设计模式] 单例模式
- leetcode 上的一道dfs问题和baidu online test的一道题(待总结)
- 最小费用最大流问题----poj 2135
- POJ 1988
- HONOR-MILTER 反垃圾邮件网关
- cf 155A Boredom dp
- 单例模式
- Hello Visitors!
- v2.7.3版本去版权完全版
- 这些日子的总结
- Mac OS X安装gnu-sed等命令行工具
- lightoj-1122-Digit Count【DP】
- 洛谷 P1030 求先序排列
- LeetCode解题报告 53. Maximum Subarray [medium]
- Retrofit实现持久化Cookie的三种方案