单例模式, 主要为了解决多个线程或者多次操作共享一个实例的问题; 所以就会面对线程安全问题, 和效率的问题;
解决方案: 1.私有化构造方法, 来禁止外部创建实例; 2.内部创建一个私有静态实例, 外部通过公共接口来调用;
publicclassSingleton {
privatestaticSingleton instance = null;
privateSingleton() {
if(instance != null) {
thrownewRuntimeException("instance already exist!");
}
}
publicstaticSingleton getInstace() {
if(instance == null) {
synchronized(Singleton.class) {
if(instance == null) {
instance = newSingleton();
}
}
}
returninstance;
}
}
网友评论