来源:蜘蛛抓取(WebSpider)
时间:2017-03-15 14:23
标签:
跳大神科学解释
求大神!解释下静态变态加载时机
求大神!在研究单态的时候遇到这样一个问题,有下面这样一段代码:
一般Singleton模式通常有几种形式: public class Singleton {
private Singleton(){} //在自己内部定义自己一个实例,是不是很奇怪? //注意这是private 只供内部调用
private static Singleton instance = new Singleton(); //这里提供了一个供外部访问本class的静态方法,可以直接访问 public static Singleton getInstance() { }
问下,这个 private static Singleton instance = new Singleton(); 是什么时候执行的呢???如果我没有使用这个类,他会初始化并放到内存里面吗?
静态变量在类载入的时候初始化。
当调用这个类的时候才会初始化静态成员变量。如果一直没有使用这个类,他是不会被初始化并放内存中的吧!
。。。什么。啥变态了,贴个单例模式的代码干嘛?
--- 共有 2 条评论 ---
你还是说静态吧。。
嘿嘿、、。、不好意思,写错了,是单态
我是看着变态二字进来的,结果是单例模式,
一般单例有2种模式,懒汉和饿汉,呵呵,比较俗哦!
你这个是饿汉模式,一加载就会实例化一个!
不过你这个代码贴的很蛋疼,不该注释的都注释了!