/*
单例设计模式(初始化值)
饿汉式
class Eh
{
private static final Eh e=new Eh();
private Eh(){}
public static Eh getInstance()
{
return e;
}
*/
//懒汉式
class Lh
{
private static Lh s=null;
private Lh(){}
public static Lh getInstance()
{
if(s==null)
{
synchronized (Lh.class)
{
if(s==null)
s=new Lh();
}
}
return s;
}
}
/*
一般使用饿汉式
面试时一般问懒汉式:
问:饿汉式与懒汉式有什么区别
懒汉式的特点在于实例的延迟加载
问:懒汉式延迟加载有没有问题
有,如果多线程访问时会出现安全问题
问:如何解决安全问题
加同步,同步函数和同步代码块都行但是有些低效,可用双重判断解决低效问题
问:加同步时使用的锁是哪一个
该类所属的字节码类对象
*/