我只是想提出开发人员可能需要使用 Singleton 类的用例。他们来了:-
- 当我们需要保持资源之间的同步时。例如在记录的情况下,多个线程需要依次写入单个日志文件。这里单例有帮助,因为不同线程之间需要同步,以便它们按顺序写入单个文件。
- 当对象创建本身是昂贵的,这意味着它是耗时的操作。例如:- 在启动时创建休眠工厂。我并不是说在每种情况下都是这种情况,但是在某些情况下,当需要在应用程序之间共享相同的状态并且对象创建成本很高时,单例在这里会有所帮助。
- 在业务服务对象的情况下,单例会有所帮助,因为它迫使我们不要维护对象的状态,从而使代码更好地进行单元测试。
我的理解是否正确?
我在 jdk 中寻找单例的例子,遇到了 Runtime 类并想为什么这个单例?根据我的理解,原因应该是第一个。例如,我们需要同步以便两个线程不会同时运行 GC。我的逻辑正确吗?