饿汉式单例模式和懒汉式单例模式

饿汉式单例模式

/**
 * 饿汉式单例模式
 */
package com.you.hai.model;

/**
 * @author YouHaiDong
 *
 */
public class Singleton 
{
	//实例化
	private static Singleton instance = new Singleton();
	
	/**
	 * 无参构造函数私有化
	 */
	private Singleton()
	{
		
	}
	
	/**
	 * 通过该方法获取实例对象
	 * @return
	 */
	public static Singleton getInstance()
	{
		return instance;
	}
}

懒汉式单例模式

/**
 * 懒汉式单例模式
 */
package com.you.hai.model;

/**
 * @author YouHaiDong
 *
 */
public class Singleton 
{
	//实例化
	private static Singleton instance = null;
	
	/**
	 * 无参构造函数私有化
	 */
	private Singleton()
	{
		
	}
	
	/**
	 * 通过该方法获取实例对象
	 * 方法同步
	 * @return
	 */
	synchronized public static Singleton getInstance()
	{
		if(instance == null)
		{
			instance = new Singleton();
		}
		return instance;
	}
}

饿汉式单例模式:类加载时,就进行对象实例化

懒汉式单例模式:第一次引用类时,才进行对象实例化