码迷,mamicode.com
首页 > 其他好文 > 详细

单例模式singleton

时间:2015-07-25 15:12:47      阅读:126      评论:0      收藏:0      [点我收藏+]

标签:

在进行开发的时候,我们在有些情形下有些对象我们只需要一个。例如:配置文件、工具类、线程池、缓存、日志对象等。

  如何保证我们的对象只有一个呢?我们可以通过单例来实现。

  常用的单例有两种:饿汉模式和懒汉模式。

  饿汉模式:当类加载的时候就会创建这个单例对象。(加载比较慢,但是运行的时候会比较快,线程安全

public class Singleton {
	//1.将构造方法设置为私有,不允许外界直接实例化类的对象
	private Singleton(){
		
	}
	
	//2.创建一个私有的静态实例对象
	private static Singleton instance = new Singleton();
	
	//3.通过一个共有的静态方法获得实例对象
	public static Singleton getInstance(){
		return instance;
	}
}

   懒汉模式:类加载的时候不会创建类的单例,只有第一次在调用getInstance()方法的时候,才会创建类的单例。(加载快,运行时第一次获取慢,非线程安全

public class Singleton {
	//1.将构造方法设置为私有,不允许外界直接实例化类的对象
	private Singleton(){
		
	}
	
	//2.声明一个类的唯一实例,使用private static修饰
	private static Singleton instance;
	
	//3.通过一个共有的静态方法获得实例对象
	public static Singleton getInstance(){
		if(instance == null){
			instance = new Singleton();
		}
		return instance;
	}
}

 

单例模式singleton

标签:

原文地址:http://www.cnblogs.com/fangying7/p/4675892.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!