网上虽然有单例的七八种实现方式,但是说实话我有点理解不了写这些博客的人的想法,既然其它模式要么是多线程不安全,要么是性能有问题,那么为什么还要用呢?直接用既安全又兼顾性能的方法不好吗,这里直接建议大家使用静态内部类或者枚举的方式来实现:
一.静态内部类实现方式:
public class ResourceFactory {
private static class ResourceHolder {
public static Resource resource = new Resource(); // This will be lazily initialised
}
public static Resource getResource() {
return ResourceFactory.ResourceHolder.resource;
}
}