java– 在getInstance()方法或实例变量定义中初始化singleton之间是否存在功能差异

java– 在getInstance()方法或实例变量定义中初始化singleton之间是否存在功能差异,第1张

概述这两种实现Singleton的方法之间是否有任何功能差异?publicclassMySingleton{privatestaticMySingletoninstance;publicstaticMySingletongetInstance(){if(instance==null){instance=newMySingleton();}retu

这两种实现Singleton的方法之间是否有任何功能差异?

public class MySingleton {    private static MySingleton instance;    public static MySingleton getInstance() {        if (instance == null) {            instance = new MySingleton();        }        return instance;    }}public class MySingleton {    private static final MySingleton instance = new MySingleton();    public static MySingleton getInstance() {        return instance;    }}

除了第一种方式允许某种clearInstance()方法的事实.虽然你可以在第二种方法中使实例不是最终的.

第一种方法在技术上是否表现更好,因为它仅在第一次需要时而不是在程序启动时初始化

解决方法:

第一个是延迟加载,第二个是急切加载.也许你的应用程序从不调用单例,因此如果创建单例的新实例是耗费大量资源的 *** 作,那么延迟加载会更好,因为它会在需要时创建新实例.

总结

以上是内存溢出为你收集整理的java – 在getInstance()方法或实例变量定义中初始化singleton之间是否存在功能差异全部内容,希望文章能够帮你解决java – 在getInstance()方法或实例变量定义中初始化singleton之间是否存在功能差异所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1116491.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存