`
java从入门到放弃
  • 浏览: 43660 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

设计模式第一招;单例模式

阅读更多

最简单的模式:单例模式

 

1、什么是单例模式?就是一个类,只允许new一次。比如家里只有一个厕所,每次只能有一个人在里边蹲,第二个人只能等第一个人拉完了才能进去。那怎么样才能实现这种场景呢?那就得使用设计模式中的第一招:单例模式。

public class Tolet {  //饿汉式单例

	//私有构造方法
	private Tolet(){}
	
	//定义一个private的静态类并new
	private static Tolet t=new Tolet();
	
	//定义一个public的静态方法,供外边的类使用
	public static Tolet getTolet(){
		return t;
	}
}

 大家看以上就是单例模式的完整版本,是不是超级简单?这个也叫饿汉式单例,为什么这么叫呢??因为他在定义属性的时候就直接new了,像一个饿汉一样,上来就要干了。对应的,还有一个叫懒汉式,开始不New,等到要用到时,才会new。

public class Tolet { //懒汉式单例

	//私有构造方法
	private Tolet(){}
	
	//定义一个private的静态类但是不new
	private static Tolet t=null;
	
	//定义一个public的静态方法,供外边的类使用
	public static Tolet getTolet(){
		if(t==null){
			t=new Tolet();
		}
		return t;
	}
}

 

这个单例模式就是这么的简单

2
0
分享到:
评论
1 楼 superdandy 2016-12-24  
第一个没问题,第二个建议加上同步。 不然理论上在高并发访问时还是会有问题。

相关推荐

    单例模式.zip(c#设计模式)

    本压缩包含有两个demo,分别对应<设计模式>第2版,刘伟这本书,单例模式这一章课后习题6、7,如果问题请留言一起探讨,谢谢!

    C#设计模式–单例模式

     说到单例模式,大家第一反应应该是——什么是单例模式?,从“单例”字面意思上理解为——一个类只有一个实例,所以单例模式也是保证一个类只有一个实例的一种实现方法罢了(设计模式其实是帮助我们解决实际开发...

    设计模式(一)——单例模式

    懒汉式单例:第一次使用时才进行实例化。 应用:单例模式应用的非常广泛。我们经常遇到这样的场景,线程A和线程B对同一个对象执行操作,但是在A里面new了后,B里面不便取,使的A,B对象是同一个对象,我们就会使用...

    python设计模式第2版.pdf

    设计模式是构建大型软件系统zui强大的方法之一,优化软件架构和设计已经逐渐成为软件开发和维护过程中的一个重要课题。 Python设计模式(第2版)通过11章内容,全面揭示有关设计模式的内容,并结合Python语言进行示例...

    C# 设计模式系列教程-单例模式

    2. 单例模式主要有3个特点,:  2.1 单例类确保自己只有一个实例。  2.2 单例类必须自己创建自己的实例。  2.3 单例类必须为其他对象提供唯一的实例。 3. 实现方式:懒汉单例类和饿汉单例类  3.1 懒汉式单例类...

    java设计模式–单例模式推理过程

    java 设计模式–单例模式推理过程 设计模式(全名:软件设计模式),是一套反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。 使用设计模式是为了可重用代码,让代码更容易被他人理解,保证代码可靠性...

    设计模式-7种开发语言(C#、JAVA、JavaScript、C++、Python、Go、PHP).pdf

    第一节 设计模式:学习顺序 第二节 简单工厂模式 第三节 工厂方法模式 第四节 抽象工厂模式 第五节 单例模式 第六节 外观模式 第七节 模板模式 第八节 组合模式 第九节 代理模式 第十节 命令模式 第十一节 观察者...

    ActionScript3.0设计模式第一部分

    ActionScript3.0 设计模式 单例模式 MVC模式 Flash设计模式

    研磨设计模式(完整带书签).part2.pdf

    第1章 设计模式基础 第2章 简单工厂 第3章 外观模式 第4章 适配器模式(Adapter) 第5章 单例模式(Singleton) 第6章 工厂方法模式(Factory Method) 第7章 抽象工厂模式(Abstract Factory) 第8章 生成器...

    【Java设计模式】你对单例模式了解多少,一文深入探究

    目录单例模式懒汉式单例模式未初始化问题解决Double Check 双重检查方案一:不让第二步和第三步重排序-DoubleCheck方案二:基于类初始化-静态内部类饿汉式饿汉式与懒汉式最大区别序列化破坏单例模式原理枚举单例基于...

    第2章 单例模式1

    第2章 单例模式提出问题问题描述:设计一个打印池模块,用于接收并执行各种模块发送过来的打印请求。设计打印池之前先设计一个请求类,包含请求ID和内容两个信息:pu

    java设计模式——单例模式

    今天给大家带来的是23种设计模式的第一种——单例模式。前天写的第一篇文章设计模式的七大原则,是我第一次写文章,目前看了浏览量,让我信心大增。文章有什么讲述方式不对的欢迎大家随时给我私信。24小时恭候!!...

    Objective C 单例模式设计源码

    第一种方式,用new方法初始化其实是第二种方式的总和,当调用new方法时,其实是先调用了alloc方法进行isa(is a pointer)操作,创建指针,指向内存中的数据结构,紧接着调用了init方法对数据进行初始化,NSObject类...

    单例模式,属于创建类型的一种常用的软件设计模式 通过单例模式的方法创建的类在当前进程中只有一个实例(根据需要,也有可能一个线程中

    在懒汉式基础上利用synchronize关键字和volatile关键字确保第一次创建时没有线程间竞争而产生多个实例,仅第一次创建时同步,性能相对较高 登记式。作为创建类的全局属性存在,创建类被装载时创建 枚举。java中枚举...

    [Java设计模式(第2版)(Design.Patterns.in.Java).John.Metsker

    《java设计模式(第2版)》通过一个完整的java项目对经典著作design patterns一书介绍的23种设计模式进行了深入分析与讲解,实践性强,却又不失对模式本质的探讨。本书创造性地将这些模式分为5大类别,以充分展现各个...

    设计模式PPT.rar

    01第一讲简单工厂模式 02第二讲工厂方法模式 03第三讲抽象工厂模式 04第四讲工厂模式在开发中的运用 05第五讲单例模式 06第六讲原型模式 07第七讲建造者模式 08第八讲装饰模式 09第九讲策略模式 10第十讲观察者模式 ...

    小D深入浅出设计模式+框架源码剖析实战

    ├─第一章 旭瑶-小滴架构师成长系列软件设计模式课程介绍 │ 1.2设计模式全家桶课程大纲速览.mp4 │  ├─第二章 想成为架构师的你,不可不知道的设计模式精髓 │ 2.1设计模式的六大原则你知道多少.mp4 │ 2.3...

    举例讲解C#编程中对设计模式中的单例模式的运用

    说到单例模式,大家第一反应应该就是——什么是单例模式?,从“单例”字面意思上理解为——一个类只有一个实例,所以单例模式也就是保证一个类只有一个实例的一种实现方法罢了,下面给出单例模式的一个官方定义:...

    Java设计模式之单例模式及其应用

    一、 单例模式概述  Java中单例模式的定义是:一个类只有一个实例,而且自行实例化并且向整个系统提供这个实例。  优点:由于单例模式在内存中只有一个实例,减少了内存开支和系统的性能开销;单例模式可以避免...

    java设计模式

    第一部分 大旗不挥,谁敢冲锋——热身篇 第1章 单一职责原则 1.1 我是“牛”类,我可以担任多职吗 1.2 绝杀技,打破你的传统思维 1.3 我单纯,所以我快乐 1.4 最佳实践 第2章 里氏替换原则 2.1 爱恨纠葛的父子关系 ...

Global site tag (gtag.js) - Google Analytics