区别:懒汉式必须加锁,否则线程不安全,为什么?因为是第一次调用的时候才会生成一个单例的对象那么多线程的情况下就会 就可能会生成多个导致线程不安全
一.懒汉式
1.生成一个 private的构造方法 防止别的地儿生成这个单例的对象
private SInglesObject(){};
2.生成这个单例的空的对象
private static SingleObject singleobject=null;
3.写一个供其他对象调用这个单例的方法
public synchronized static SingleObject getInstance()
{
if (singleobject=null)
{
singleobject= new SingleObject ();
}
return instance;
}
二.饿汉式
1.生成一个 private的构造方法 防止别的地儿生成这个单例的对象
private SInglesObject(){};
2.生成这个单例的对象
private static SingleObject singleobject=new SingleObject();
3.写一个供其他对象调用这个单例的方法
public static SingleObject getInstance()
{
return SingleObject;
}