我有些不明白,就是单例模式是是怎么确保只生成一个对象实例的,就是单例是怎么生成的?
解决方案 »
- 关于oracle查询表时间非常长的原因
- 帮我解释下J2EE吧前辈们..我好糊涂
- 关于实时报表的问题(急,请高手指点)
- SSH整合问题 高手进 小弟都抓狂了
- 谁有soap.jar,好像官方网站下不下来??多谢!
- 如何将/servlet/对应到/WEB-INF/classes目录,求教!
- html:link问题
- JBuider中Additional Settings是什么情况下出现的?
- SOA安装的问题java.lang.NoClassDefFoundError: javax/mail/MessagingException
- 本人初学Java,想学习J2EE(EJB、JSP),但是发现要学习的东西太多,想请问一下那些什么图形设计(AWT、SWING)需要学习吗?好象在J2EE没
- java小菜鸟求助各位大神编辑个OOP Simple GUI Builder
- 谁来形象地解释一下下列几个名词
饿汉模式:class Singleton {
private static Singleton instance=new Singleton();
private Singleton(){}
static Singleton getInstance() {
return instance;
}
}
懒汉式:class Singleton {
private static Singleton instance=null;
private Singleton(){}
static Singleton getInstance() {
if(instance==null)
instance=new Singleton();
return instance;
}
把构造函数声明为private,禁止了外部的实例化(当然,通过反射机制可以实例化private的类,这里就不多说题外话了)当然,这模式在并发情况下,可能会出现多个线程同时执行,使得单例失效。
ONE;
}
//内部类的方式,单例要注意线程安全
public class Singleton{
private Singleton(){}
private static class SingletonHandler{
public static Singleton instance = new Singleton();
}
public static Singleton getInstance(){
return SingletonHandler.instance;
}
}