草庐IT

Singleton

全部标签

java - 是否可以将继承应用于 Singleton 类?

今天我在面试中遇到了一个问题。是否可以在单例类上应用继承概念?我说既然构造函数是私有(private)的,我们不能扩展那个Singleton类。他问我的下一件事是对那个Singleton类应用继承。因此,我将Singleton的构造函数设置为protected,认为child的构造函数也受到保护。但我错了,child可以有一个等于或高于那个的修饰符。所以,我请他就这种情况举一个现实世界的例子。他不能给我一个,说我不能问问题,要我告诉我这种情况是否可能。我有点茫然。我的问题是,这可能吗?就算可以,又有什么用呢?什么样的现实世界场景需要这样的用途? 最佳答案

java - 是否可以将继承应用于 Singleton 类?

今天我在面试中遇到了一个问题。是否可以在单例类上应用继承概念?我说既然构造函数是私有(private)的,我们不能扩展那个Singleton类。他问我的下一件事是对那个Singleton类应用继承。因此,我将Singleton的构造函数设置为protected,认为child的构造函数也受到保护。但我错了,child可以有一个等于或高于那个的修饰符。所以,我请他就这种情况举一个现实世界的例子。他不能给我一个,说我不能问问题,要我告诉我这种情况是否可能。我有点茫然。我的问题是,这可能吗?就算可以,又有什么用呢?什么样的现实世界场景需要这样的用途? 最佳答案

java - 单例设计模式 : Pitfalls

关闭。这个问题需要更多focused.它目前不接受答案。想要改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭5年前。Improvethisquestion不确定使用严格的全局状态实现是否会失败。什么时候单例不适合应用程序? 最佳答案 如果您正在进行单元测试,单例通常是个坏主意,不进行单元测试(或BDD或验收测试)通常是个坏主意。使对象具有全局状态意味着您编写的涉及这些对象的单元测试将相互隔离和脱节。相反,您将不得不担心为每个测试重置状态,相信我……这永远不会100%完成。如果您不重置全局状态,那么您会

java - 单例设计模式 : Pitfalls

关闭。这个问题需要更多focused.它目前不接受答案。想要改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭5年前。Improvethisquestion不确定使用严格的全局状态实现是否会失败。什么时候单例不适合应用程序? 最佳答案 如果您正在进行单元测试,单例通常是个坏主意,不进行单元测试(或BDD或验收测试)通常是个坏主意。使对象具有全局状态意味着您编写的涉及这些对象的单元测试将相互隔离和脱节。相反,您将不得不担心为每个测试重置状态,相信我……这永远不会100%完成。如果您不重置全局状态,那么您会

java - 通过枚举方式的单例是惰性初始化的吗?

这是一个非常普遍的枚举单例代码:publicenumenumClazz{INSTANCEenumClazz(){//dosomething}}还有一堆地方说是惰性初始化。但是我读了'InsidetheJavaVirtualMachine的第7章后感到很困惑'--类型的生命周期:TheJavavirtualmachinespecificationgivesimplementationsflexibilityinthetimingofclassandinterfaceloadingandlinking,butstrictlydefinesthetimingofinitialization.

java - 通过枚举方式的单例是惰性初始化的吗?

这是一个非常普遍的枚举单例代码:publicenumenumClazz{INSTANCEenumClazz(){//dosomething}}还有一堆地方说是惰性初始化。但是我读了'InsidetheJavaVirtualMachine的第7章后感到很困惑'--类型的生命周期:TheJavavirtualmachinespecificationgivesimplementationsflexibilityinthetimingofclassandinterfaceloadingandlinking,butstrictlydefinesthetimingofinitialization.

java - 结合延迟加载和线程安全的单例模式

我正在做一些关于单例的研究,特别是关于单例的惰性初始化和急切初始化。一个急切初始化的例子:publicclassSingleton{//initialzedduringclassloadingprivatestaticfinalSingletonINSTANCE=newSingleton();//topreventcreatinganotherinstanceofSingletonprivateSingleton(){}publicstaticSingletongetSingleton(){returnINSTANCE;}}但如上所示,它是急切的初始化,线程安全留给jvm但现在,我想拥

java - 结合延迟加载和线程安全的单例模式

我正在做一些关于单例的研究,特别是关于单例的惰性初始化和急切初始化。一个急切初始化的例子:publicclassSingleton{//initialzedduringclassloadingprivatestaticfinalSingletonINSTANCE=newSingleton();//topreventcreatinganotherinstanceofSingletonprivateSingleton(){}publicstaticSingletongetSingleton(){returnINSTANCE;}}但如上所示,它是急切的初始化,线程安全留给jvm但现在,我想拥

java - 单例模式 : Using Enum Version

我不明白如何实现Singleton模式的Enum版本。下面是使用单例模式实现“传统”方法的示例。我想将其更改为使用Enum版本,但我不确定如何。publicclassWirelessSensorFactoryimplementsISensorFactory{privatestaticWirelessSensorFactorywirelessSensorFactory;//PrivateConstprivateWirelessSensorFactory(){System.out.println("WIRELESSSENSORFACTORY");}publicstaticWirelessS

java - 单例模式 : Using Enum Version

我不明白如何实现Singleton模式的Enum版本。下面是使用单例模式实现“传统”方法的示例。我想将其更改为使用Enum版本,但我不确定如何。publicclassWirelessSensorFactoryimplementsISensorFactory{privatestaticWirelessSensorFactorywirelessSensorFactory;//PrivateConstprivateWirelessSensorFactory(){System.out.println("WIRELESSSENSORFACTORY");}publicstaticWirelessS