/*
单例设计模式。
饿汉式 ---> 常用
懒汉式 --->
区别:
懒汉式:延迟加载,但会出现安全问题,解决方法加同步(synchronized)同步代码块与同步函数都行,但稍微有点低效。用双重判断的方法可以解决效率问题。
加同步是使用的锁是该类的字节码对象 即 : 类名.class
*/
//饿汉式。
/*
class Single
{
private static final Single s = new Single();
private Single(){}
public static Single getInstance()
{
return s;
}
}
*/
//懒汉式
class Single
{
private static Single s = null;
private Single(){}
/*
public static synchronized Single getInstance()
{
if(s==null)
s = new Single();
return s;
}
*/
public static Single getInstance()
{
if(s==null)
{
synchronized(Single.class)
{
if(s==null)
//--->A;
s = new Single();
}
}
return s;
}
}
class SingleDemo
{
public static void main(String[] args)
{
System.out.println("Hello World!");
}
}
(多线程-单例设计模式-懒汉式)
单例设计模式详解
最新推荐文章于 2025-04-26 18:05:05 发布
本文详细介绍了单例设计模式中的两种实现方式:饿汉式和懒汉式,并对比了它们的特点。饿汉式简单易懂,实例化过程没有安全问题;而懒汉式实现了延迟加载,但需要额外考虑线程安全问题,通过双重检查锁定解决了效率和安全性之间的矛盾。
2407

被折叠的 条评论
为什么被折叠?



