这里有两个单例设计模式:
饿汉式:Single类一进内存就会给它创建一个对象S.
class Single
{
private static Single s=new Single();
private Single(){}
public static Single getInstence()
{
return s;
}
}
懒汉式:类在进内时,对象S为null,没有给它创建对象,只有在调用getInstence()方式才会创建对象,这就叫延迟加载。
class Single
{
private Single(){}
private static Single s=null;
public static Single getInstence()
{
if(s==null)
return s=new Single;
}
}
以上这个是最简单的懒汉式,但在学到多线程时就会发现当用多线程去执行这个代码时,有可能会发生安全问题,还需进行优化。但刚开始我们只要能把这两种方式的区别以及思想理解了就可以了。
|