当前位置:首页 > 开发 > 编程语言 > 设计模式 > 正文

Java的设计模式的学习【一】 -- 单例模式

发表于: 2015-05-20   作者:chenjie1121   来源:转载   浏览次数:
摘要: 应用场合:有些对象只需要一个,比如:配置文件,工具类,线程池、缓存、日志对象等; 常用的有懒汉模式和饿汉模式两种单例模式;(构造方法:私有化,不允许外部直接创建)   区别: 【饿汉模式】- 类加载的时候就创建了类的实例,所以加载类时比较慢,但运行时获取对象的速度比较快;线程安全;   /** * 单例模式 - 饿汉模式 * 类加载时就创建类的实例 *

应用场合:有些对象只需要一个,比如:配置文件,工具类,线程池、缓存、日志对象等;

常用的有懒汉模式和饿汉模式两种单例模式;(构造方法:私有化,不允许外部直接创建)

 

区别:

【饿汉模式】- 类加载的时候就创建了类的实例,所以加载类时比较慢,但运行时获取对象的速度比较快;线程安全;

 

/**
 * 单例模式 -  饿汉模式
 * 类加载时就创建类的实例
 * @author chenj
 */
public class Singleton {
	
	private static Singleton instance = new Singleton();
	public static Singleton getInstance(){
		return instance;
	}
	
	public static void main(String args[]){
		Singleton st1 = Singleton.instance;
		Singleton st2 = Singleton.instance;
		if(st1 == st2){
			System.out.println("s1和s2是同一个实例");
		} else {
			System.out.println("s1和s2不是同一个实例");
		}
	}
}

 

 

【懒汉模式】- 类使用的时候才创建类的实例,所以加载类时比较快,但运行时获取对象的速度比较慢;线程不安全;

 

/**
 * 单例模式 - 懒汉模式
 * 类使用时才创建类的实例
 * @author chenj
 */
public class Singleton {
	
	private static Singleton instance;
	public static Singleton getInstance(){
		if(instance == null){
			instance = new Singleton();
		}
		return instance;
	}
	
	public static void main(String args[]){
		Singleton st1 = Singleton.instance;
		Singleton st2 = Singleton.instance;
		if(st1 == st2){
			System.out.println("s1和s2是同一个实例");
		} else {
			System.out.println("s1和s2不是同一个实例");
		}
	}
}

 

 

   

Java的设计模式的学习【一】 -- 单例模式

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
设计模式的创建模式中前面说了工厂模式,这里我们继续来讨论设计模式中另一个创建模式—单例模式。
设计模式的创建模式中前面说了工厂模式,这里我们继续来讨论设计模式中另一个创建模式—单例模式。
设计模式的创建模式中前面说了工厂模式,这里我们继续来讨论设计模式中另一个创建模式—单例模式。
保证一个类在内存中的对象唯一性,需要以下三步: 1. 不允许其他模块用new创建该类对象。(即把该类
作为对象的创建模式[GOF95], 单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供
一.概念 确保一个类只有一个实例,并提供一个全局访问点来获取该实例。 二.UML 三.三种单例模式 饿
这个模式是非常有意思,并且比較简单,可是我还是要说由于它使用的是如此的广泛,如此的有人缘,单
java设计模式之——单例模式 1,什么是单例模式? 单例模式确保一个类只有一个实例,自行提供这个实
概念:   java中单例模式是一种常见的设计模式,单例模式分三种:懒汉式单例、饿汉式单例、登记式
一、什么情况下考虑使用“单例模式”? 单例模式使得一个类在任何情况下只有一个对象,通常当需要一
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号