`
java从入门到放弃
  • 浏览: 44916 次
  • 性别: 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  
第一个没问题,第二个建议加上同步。 不然理论上在高并发访问时还是会有问题。

相关推荐

    三种工厂设计模式和两种单例模式

    2. **懒汉单例模式**:也称为延迟初始化,只有在第一次需要使用时才创建单例。懒汉单例模式可以避免无谓的资源消耗,但必须确保线程安全。有一种双重检查锁定(Double-Checked Locking)的优化方式,可以在保证线程...

    设计模式——单例模式

    懒汉式单例模式则是在第一次调用 `getInstance()` 方法时才创建实例,实现了真正的按需创建。但由于多线程环境下可能出现多个实例,因此需要进行同步控制。 ```java public class Singleton { private static ...

    设计模式之单例模式(结合工厂模式)

    单例模式是软件设计模式中的一种经典模式,它保证了类只有一个实例存在,并提供一个全局访问点。在Java等面向对象编程语言中,单例模式常用于管理共享资源,如数据库连接池、线程池或者配置文件等。结合工厂模式,...

    设计模式单例模式

    1. **懒汉式**(Lazy Initialization):懒汉式单例模式的特点是在第一次需要时才创建对象,即延迟初始化。这样的设计可以避免在程序启动时就创建不必要的对象,节省资源。懒汉式的常见实现是使用双重检查锁定...

    大话设计模式--Singleton(单例模式)

    单例模式是软件设计模式中的一种经典模式,它在许多场景下被广泛使用,尤其是在需要全局唯一实例的情况下。本文将深入探讨单例模式的概念、作用、实现方式以及其在实际编程中的应用。 单例模式的核心思想是确保一个...

    23钟设计模式之单例模式

    1. 懒汉式:懒汉式是在第一次使用时才创建单例对象,以延迟加载提高效率。但是,如果在多线程环境下,没有正确处理同步问题,可能导致多个线程同时创建单例,破坏单例的唯一性。例如,文章中提到的简单懒汉式,就...

    java 设计模式 mvc模式 单例模式 代理 工厂 简单工厂 第二部分

    在编程领域,设计模式是一种被广泛接受的解决常见问题的模板或最佳实践。Java作为一款广泛应用的面向对象的编程语言,其设计模式的应用对于编写可维护、可扩展和高效的代码至关重要。本篇将深入探讨标题中提及的几种...

    设计模式之单例模式源码demo

    2. **懒汉单例模式**:延迟到第一次调用`getInstance()`方法时才进行实例化,这种实现方式解决了饿汉模式的内存浪费问题,但在多线程环境下不安全。 ```java public class Singleton { private static Singleton ...

    设计模式-单例模式

    **设计模式——单例模式** 单例模式是一种广泛应用于软件设计中的创建型设计模式,它的核心思想是确保一个类只有一个实例,并提供一个全局访问点。这样做的好处在于控制共享资源的访问,比如线程安全的数据库连接池...

    java设计模式----单例模式

    在Java编程语言中,设计模式是一种经过验证的解决常见软件设计问题的最佳实践。单例模式是其中最常用的一种,它的核心思想是确保一个类只有一个实例,并提供全局访问点。单例模式的应用场景包括:控制资源的访问、...

    43丨单例模式(下):如何设计实现一个集群环境下的分布式单例模式?1

    单例模式是一种设计模式,旨在确保一个类只有一个实例,并提供全局访问点。在单例模式中,类的构造函数是私有的,防止外部直接创建对象,而是通过静态方法获取该类的唯一实例。单例模式的唯一性通常是在进程范围内,...

    Java设计模式之单例模式的七种写法

    懒汉式单例是一种常见的单例模式实现方式,它在第一次调用的时候实例化自己。下面是懒汉式单例的四种写法: 1、基本懒汉式单例 public class Singleton1 { private Singleton1() {} private static Singleton1 ...

    单例设计模式.pdf

    单例设计模式是一种在软件设计中广泛使用的设计模式,它属于创建型模式,其核心目标是确保类只有一个实例,并提供一个全局访问点。这个模式在Java中尤其常见,因为Java的垃圾回收机制允许对象长时间驻留在内存中,...

    javaweb项目+设计模式(单例模式,工厂模式,动态代理,适配器)

    单例模式是一种限制类实例化次数为一个的设计模式,常用于全局共享对象,如数据库连接池、线程池等。在Java中实现单例模式有多种方法,包括懒汉式(线程不安全)、饿汉式(线程安全)、双重检查锁定(DCL,线程安全...

    设计模式——单例模式(懒汉模式)

    懒汉式单例模式的特点是延迟加载,即只有在第一次使用时才会创建实例,这样可以提高系统性能,因为如果单例对象从未被使用,那么就不会消耗内存。 在Java中,懒汉式的单例模式通常通过双重检查锁定(Double-Check ...

    C++单例设计模式

    单例设计模式是一种重要的软件设计模式,用于确保一个类只有一个实例,并提供全局访问点。这种模式在C++中尤其常见,因为它允许多个组件共享同一对象,从而提高效率和一致性。以下是对C++单例模式的详细说明: 1. *...

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

    在《设计模式》第二版中,刘伟老师深入讲解了单例模式,本压缩包中的"单例模式习题6"和"单例模式习题7"可能是书中的课后练习,旨在帮助读者更好地理解和运用单例模式。 单例模式的核心思想是控制类的实例化过程,...

    设计模式实现——单例模式

    单例模式是软件设计模式中的一种,它的主要目的是确保一个类只有一个实例,并提供一个全局访问点。这种模式在很多场景下都非常有用,比如控制共享资源、管理系统级别的服务或者简化对象间的交互。单例模式的核心在于...

    二十三种设计模式Java版之单例模式

    1. **懒汉式**:这种实现方式延迟初始化,只有在第一次需要时才创建实例。但是线程不安全,可能导致多个线程同时创建单例,造成数据不一致。 ```java public class Singleton { private static Singleton instance...

    JAVA设计模式中的单例模式

    懒汉式单例模式在第一次调用`getInstance()`方法时才创建实例,因此比饿汉式节省了内存资源,但在多线程环境下需要考虑线程安全性。 ```java public class Singleton { private static Singleton theInstance =...

Global site tag (gtag.js) - Google Analytics