设计模式之单例模式(java实现)

单例模式:在这个模式下,一个类只能有一个对象,有两种方式

1、饿汉式   在加载类时直接new出对象

package cn.gzsxt.servlet;

public class SingletonEH {
	
	
	//私有化构造器
	private SingletonEH(){}
	
	//创建一个对象
	private static SingletonEH instance = new SingletonEH();
	
	//提供一个公有的方法调用
	public static SingletonEH getInstance(){
		return instance;		
	}
}

2、懒汉式     在第一次调用getInstance()方法时new出对象

package cn.gzsxt.servlet;

/**
 * @author jia
 *单例模式之懒汉式
 */
public class SingletoneLH {
	//私有化构造器
	private SingletoneLH(){}
	
	//创建一个空对象
	private static SingletoneLH instance = null;
	
	//创建一个共有的方法new对象,并且返回该对象
	public static SingletoneLH getInstance(){
		
		if(instance == null){
			synchronized (SingletoneLH.class) {
				if(instance == null){
					instance = new SingletoneLH();
				}
			}
		}
				
		return instance;
		
	}
}

  

  

  

 

posted @ 2019-05-09 19:03  无声凉薄  阅读(170)  评论(0编辑  收藏  举报