为什么java.lang.Runtime是单例的?单身要求?

M S*_*ach 2 java singleton design-patterns

我只是试图提出开发人员可能需要使用Singleton类的用例.他们来了:-

  1. 当我们需要维护资源之间的同步时.例如,在记录的情况下,多个线程需要按顺序写入单个日志文件.这里singleton帮助不同线程之间需要同步,以便它们按顺序写入单个文件.
  2. 当对象创建本身很昂贵时,这意味着它耗时的操作.例如: - 启动时创建hibernate工厂.我并不是说在所有情况下都是这种情况,但是在某些情况下,当在应用程序和对象创建之间需要共享相同状态时,单例有助于此.
  3. 在业务服务对象的情况下,单例帮助,因为它迫使我们不维持对象的状态,这反过来使代码更好地单元可测试.

我的理解是否正确?

我在jdk中寻找单身人士的例子并遇到了Runtime类,并想到为什么这个单身人士?根据我的理解,理由应该是第一个.例如,我们需要同步,以便两个线程不会在同一时刻运行GC.我的逻辑是否正确?

Lit*_*ild 5

每个Java应用程序都有一个Runtime类实例,它允许应用程序与运行应用程序的环境进行交互.

感觉直观,因为Java程序正在执行的环境是一个,不会改变的静态事物Runtime是单例.

即使您生成越来越多的线程,处理器数量,总RAM等也不会改变.因此,Runtime通过避免必须创建包含与1000个其他线程相同的信息的对象,使单个实例优化程序的执行.

这是我对它的理解.