-3

我想通过这种方式使用单例模式:

    public static final XXX INSTANCE = new XXX();

    private XXX() {}

你能从JVM的角度分析一下后果吗?

4

2 回答 2

2

将单例初始化为最终静态字段是安全的。您需要记住,虽然构造本身是线程安全的,但它并不能增强内部代码的安全性。

有时单例是解决问题的正确方法,但我建议您总体上远离它们。 如果没有别的,它通常会使测试变得更加困难。

于 2013-06-05T04:21:50.213 回答
2

如果您有一个多线程应用程序,您可能会遇到问题。这篇文章可能会有所帮助。线程安全单例

于 2013-06-05T03:40:19.830 回答