一个简单的单例模式
[size=large]补充知识:静态属性保存在stack内存区,非静态属性保存在heap内存区
不管什么指令(类方法),都能访问到类的静态属性,也正是因为静态属性被放入了stack中,也就成为了全局属性。
因此我们不用new一个新的该类对象,就能访问该类的静态属性。前提是该类的class文件被classLoader load进JVM,该静态属性发才可以被调用。
第一次new该类的对象就是调用classLoader加载该类的class。
单例模式如果遇到多线程,servlet容器多类加载器,见链接http://www.iteye.com/topic/60179[/size]
public class ClassicSingleton {
private static ClassicSingleton instance = null;
protected ClassicSingleton() {
// Exists only to defeat instantiation.
}
public static ClassicSingleton getInstance() {
if(instance == null) {
instance = new ClassicSingleton();
}
return instance;
}
}
[size=large]补充知识:静态属性保存在stack内存区,非静态属性保存在heap内存区
不管什么指令(类方法),都能访问到类的静态属性,也正是因为静态属性被放入了stack中,也就成为了全局属性。
因此我们不用new一个新的该类对象,就能访问该类的静态属性。前提是该类的class文件被classLoader load进JVM,该静态属性发才可以被调用。
第一次new该类的对象就是调用classLoader加载该类的class。
单例模式如果遇到多线程,servlet容器多类加载器,见链接http://www.iteye.com/topic/60179[/size]