一、介绍
定义:
Java中单例模式定义:“一个类有且仅有一个实例,并且自行实例化向整个系统提供。”
作用:
1、当我们在两个类中需要访问同一个类中的内容时,这时不能实例化,因为实例化以后是两个不同的类,数据不一样,这时就需要用到单例设计模式。
2、单例模式可以防止用户过多的实例化类,造成过多的内存浪费,因为单例模式,只返回一个实例。
二、实现
1、懒汉式。
/**
* 懒汉式--用的时候才实例化,当然,我们还需要加入线程锁防止线程安全问题
* @author BeiKe
*
*/
public class SingletonClass{
private static SingletonClass instance=null;
public static SingletonClass getInstance()
{
if(instance==null)
{
synchronized(SingletonClass.class)
{
if(instance==null)
instance=new SingletonClass();
}
}
return instance;
}
private SingletonClass(){
}
}
2、饿汉式
/**
* 饿汉式-一开始就实例化,用的时候直接返回
* @author BeiKe
*/
public class SingletonClass{
private static SingletonClass instance=new SingletonClass();
public static SingletonClass getInstance()
{
return instance;
}
/**
* 构造函数
*/
private SingletonClass(){}
}