java实现单例模式的方法

java实现单例模式的方法
使用一个枚举:

public enum Foo {
    INSTANCE;
}

约书亚·布洛赫(Joshua Bloch)在Google I / O 2008上的“有效的Java重新加载”演讲中解释了这种方法。

实现可序列化单例的正确方法

public enum Elvis {
    INSTANCE;
    private final String[] favoriteSongs =
        { "Hound Dog", "Heartbreak Hotel" };
    public void printFavorites() {
        System.out.println(Arrays.toString(favoriteSongs));
    }
}

编辑:“高效Java编程”一书中说:

“这种方法在功能上等同于公共领域方法,除了它更简洁,免费提供序列化机制,并且即使面对复杂的序列化或反射攻击,也提供了防止多重实例化的坚定保证。尚未被广泛采用的单元素枚举类型是实现单例的最佳方法。”

如若转载,请注明出处:https://www.javaidea.cn/article/8209.html

(0)
上一篇 2022年2月7日 上午10:03
下一篇 2022年2月7日 上午10:03

相关推荐

发表评论

您的电子邮箱地址不会被公开。