关于单例设计模式
这是代码
class Single
{
private Single(){}
private static Single s = new Single();
public static Single getInstance()
{
return s;
}
}
class SingleDemo
{
public static void main(String[] args)
{
Single ss =Single.getInstance();
}
}
我疑惑的是,private static Single s = new Single(); 这个是静态函数还是静态变量呢?
还有 这个是随着类的加载(读到Single)就运行建立对象呢,还是在读到.getInstance();时候才建立对象呢?
第二个问题 (跟这个就没关系了),非静态方法是存放在方法区的,它是什么时候存放的呢,是类一加载就跟静态方法一块存到方法区呢还是对象建立的时候存放进去的 作者: 焦健 时间: 2012-12-15 23:45
private static Single s = new Single(); 是本类对象,应该算是静态成员变量,你贴的这个代码的本类对象是随着类的加载就运行建立对象的。
若是在懒汉式的单利假设模式中,对象就是在方法被调用时才对对象进行加载,所以叫做延迟加载。
非静态方法是在对象建立的时候才存放进入方法区的。作者: 杜天伟 时间: 2012-12-16 00:06
焦健 发表于 2012-12-15 23:45
private static Single s = new Single(); 是本类对象,应该算是静态成员变量,你贴的这个代码的本类对象是 ...