package com.mycontainer;
public class MyContainer {
private static ContainerConfig cConfig;
private MyContainer() {
}
public static ContainerConfig getConfiguration() {
if (cConfig == null)
cConfig = new ContainerConfig();
return cConfig;
}
}
答案 0 :(得分:6)
答案 1 :(得分:3)
我不得不说这是懒惰初始化和Singleton模式的糟糕实现。没有同步,因此没有线程安全。在访问此代码的多个线程下,您最终可能会有多个实例。
package com.mycontainer;
public class MyContainer {
// static final singleton object to rely on class loader to create it for you
// in a thread safe way
private static final ContainerConfig cConfig = new ContainerConfig();
// private constructor to prevent instantiation
private MyContainer() {}
// getter method for your singleton object
public static ContainerConfig getContainerConfig() {
return cConfig;
}
}
答案 2 :(得分:0)
这绝对是单身人士模式。
编辑:它可能是Singleton-FAIL,但它派生自Singleton。 ]
答案 3 :(得分:0)
延迟初始化。你需要延迟初始化,直到需要它为止。