简单的说就是在创建对象的时候,无论创建多少次,在堆空间上只会申请一次内存空间
public
class
Singleton
{
private
static
Singleton_singleton = null;
//
锁
private
static
Objectsingleton_lock = new
Object();
//
构造函数私有化
private
Singleton()
{
//
初始化代码
}
public
static
SingletonCreateInstance()
{
if(_singleton== null) //
先看看是否初始化过,避免每次进入都要判断锁
{
lock(_singleton_lock){ //
防止多个线程进入
if(_singleton== null){ //
判断单例对象是否为null
_singleton= new
Singleton();
}
}
}
return
_singleton;
}
}