/*
这个是先初始化对象
称为:饿汉式
single类一进内存,就已经创建好了对象
class Single
{
private static Single s = new Single();
private Single(){};
public static Single getInstance()
{
return s;
}
}
*/
//对象是方法被调用时,才初始化,也叫做对象的延时加载。称为:懒汉式
//Single类进内存,对象还没有存在,只有调用了getInstance方式时,才建立对象
class Single
{
private static Single s = null;
private Single(){}
public static Single getInstance()
{
if(s==null)
s = new Single();
return s;
}
}
/*
//懒汉式一个cpu同步小问题的解决【多线程锁synchronized】
class Single
{
private static Single s = null;
private Single(){}
public static Single getInstance()
{
if(s==null)
{
synchronized(Single.class)
{
if(s==null)
s = new Single();
}
}
return s;
}
}
*/
//记住原则:定义单例,建议使用饿汉式
class SingleDemo2
{
public static void main(String[] args)
{
}
}
java设计单例模式【饿汉式和懒汉式】
最新推荐文章于 2023-07-26 17:18:18 发布