`
xizhenyin
  • 浏览: 53072 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

单例(Singleton)模式概述

阅读更多

 

单例模式的特点:

 

单例类只能有一个实例;

单例类必须自己创建自己一个实例;

单例类必须给所有其他对象提供这一事例。                -----转自 阎宏《java与模式》

 

 

 

       

package com.xzy;
//饿汉模式
class Singleton{
	
	private Singleton(){
		
	}
	
	private static final Singleton singleton = new Singleton();
	
	public static Singleton getInstance(){
		return singleton;
	}
	public void say(){
		System.out.println("I am saying");
	}
  }

	public class SingletonDemo{
		public static void main(String[] args){
			Singleton s = Singleton.getInstance();
			s.say();
		}
	}

 

 

 

 

//懒汉模式
	
class Singleton{
	
	private static Singleton singleton = null;
	
	public static synchronized Singleton getInstance(){
		if(singleton == null){
			singleton = new Singleton();
		}
		return singleton;
	}
	
	public void say(){
		System.out.println("I am saying.........");
	}
}
	public class SingletonDemo{
		
		public static void main(String[] args){
		     Singleton singleton = Singleton.getInstance();
		     singleton.say();
		}
	}

 

      注意到懒汉形式中的synchronized,这个synchronized很重要,如果没有synchronized,那么使用getInstance()是有可能得到多个

Singleton实例。
一般来说第一种比较安全

分享到:
评论

相关推荐

    单例模式 Singleton Pattern

    ### 单例模式 Singleton Pattern #### 概述 单例模式是一种常见的设计模式,属于创建型模式之一。这种模式的核心在于确保某个类只有一个实例存在,并且提供一个全局访问点来获取该实例。单例模式在Java开发中尤其...

    单例 singleton txt

    #### 一、单例模式概述 单例模式(Singleton Pattern)是一种常用的软件设计模式,属于创建型模式之一。其主要目的是确保一个类只有一个实例,并提供一个全局访问点来访问该实例。这在某些情况下非常有用,比如系统...

    Singleton pattern单例模式应用

    #### 一、单例模式概述 单例模式(Singleton Pattern)是一种常用的软件设计模式,在系统中确保某个类只有一个实例,并提供一个全局访问点。这种模式通常用于控制资源的消耗,比如数据库连接、线程池等,以及确保...

    singleTon单例模式的创建

    #### 一、单例模式概述 单例模式是一种常用的软件设计模式,它确保一个类只有一个实例,并提供一个全局访问点。这种模式通常用于那些需要频繁实例化然后销毁的对象,或者创建对象需要消耗大量资源(如磁盘空间或...

    Java面向对象(高级)- 单例(Singleton)设计模式

    (1)设计模式概述 设计模式是软件开发过程中经过大量实践和理论提炼出的解决方案模板,它们代表了在特定上下文中解决常见问题的最佳实践。设计模式并非具体的代码,而是描述在特定情境下,如何设计类和对象之间交互...

    单例模式应用场景

    其中,单例模式(Singleton Pattern)作为最简单的设计模式之一,旨在确保一个类只有一个实例,并提供一个全局访问点。尽管有些设计模式专家认为它过于简单而不能称为真正的“模式”,但单例模式因其简洁性和实用性...

    Java单例模式应用研究.pdf

    #### 一、单例模式概述 单例模式(Singleton Pattern)作为一种最基本的创建型设计模式,其主要目的是控制一个类的实例化过程,确保在整个应用程序中仅存在一个实例,并且该实例能够被全局访问。这种模式在实际软件...

    设计模式单例模式PPT学习教案.pptx

    单例模式概述 单例模式是设计模式中的一种,用于确保一个类只有一个实例,并提供一个全局访问点来访问这个唯一实例。这种模式对对象的创建和访问进行了限制,以确保系统中只有一个实例存在。 单例模式的定义 单例...

    单例设计模式个人总结+摘录

    ### 单例设计模式概述与实现方式 单例设计模式是一种常用的软件设计模式,它确保一个类只有一个实例,并提供一个全局访问点。这种模式在多种编程语言中都有应用,尤其适用于资源消耗较大的对象或者需要频繁访问共享...

    单例模式.doc

    #### 一、设计模式概述 设计模式是一种在软件工程领域内广泛应用的方法论,它提供了一套解决常见问题的有效方案。设计模式可以看作是前辈们在实践中积累下来的经验总结,这些模式经过长时间的检验,被证明能够有效...

    在Python中实现单例模式.docx

    ### 在Python中实现单例模式 #### 概述 单例模式是一种常用的设计模式,用于确保一个类只有一个实例,并提供一个全局访问点。在很多情况下,我们希望在整个应用程序中只存在一个特定类型的对象实例,例如配置管理...

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

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

    C#设计模式(1)——单例模式.pdf

    #### 单例模式概述 单例模式是一种创建型模式,它的核心在于确保某个类只有一个实例,并提供一个全局可访问的访问点。这种模式非常实用,尤其是在需要频繁地创建和销毁对象会造成资源浪费的情况下。 #### 单例模式...

    设计模式之单例模式

    单例模式(Singleton Pattern)是软件设计模式中的一个重要组成部分,属于创建型模式之一。它保证一个类仅有一个实例,并提供一个全局访问点。单例模式的核心在于确保某个类只有一个实例存在,并且这个实例能够被...

    java设计模式-单例.pdf

    #### 一、单例模式概述 单例模式是设计模式中的一个重要组成部分,属于创建型模式之一。其主要作用是确保某个类仅有一个实例存在,并提供一个全局访问该实例的方法。这在很多场景中都是非常有用的,比如日志对象、...

    php设计模式之单例模式_.docx

    #### 二、单例模式概述 单例模式是一种常用的创建型设计模式,它确保一个类只有一个实例,并提供一个全局访问点来获取该实例。这种模式在许多场景下都非常有用,尤其是当需要控制资源访问或协调系统内不同组件之间的...

    java 多线程单例模式详解

    #### 一、单例模式概述 单例模式(Singleton Pattern)是一种常用的软件设计模式,它确保一个类仅有一个实例,并提供一个全局访问点。这种模式通常用于那些需要频繁实例化然后销毁的对象,或者创建对象需要消耗大量...

    JAVA单例模式应用研究

    #### 一、单例模式概述 单例模式(Singleton Pattern)作为一种最常见的创建型设计模式之一,在软件开发中扮演着重要角色。它主要应用于需要对系统资源进行统一管理和控制的场景,例如Windows中的文件系统、回收站、...

    java单例模式开发的7种写法

    ### Java单例模式开发的七种写法 #### 概述 单例模式是一种常用的软件设计模式,其目的是确保一个类仅有一个实例,并提供一个全局访问点。在Java编程语言中,实现单例模式的方法有很多种,不同的实现方式具有不同的...

    教会你如何用好单例及单例的定义

    #### 一、单例模式概述 单例模式是一种常用的软件设计模式,属于创建型模式之一。它确保一个类仅有一个实例,并提供一个全局访问点来获取该实例。在Java中,单例模式非常有用,尤其是在需要控制对象创建过程或者...

Global site tag (gtag.js) - Google Analytics