根据针对运行时here的Javadocs:


  每个Java应用程序都有一个Runtime类的实例,该实例允许该应用程序与应用程序运行所在的环境进行交互。当前运行时可以从getRuntime方法获得。应用程序无法创建自己的此类的实例。


我的问题是:他们对应用程序的定义是什么?

每个JAR / WAR / EAR是否都被视为独立应用程序?用Driver.class方法的普通ole'main()类怎么办?容纳EAR和EJB的Java EE容器又如何呢?

我想我想了解一个复杂的(Java EE)系统中可以建立并运行多少Runtime实例。并且理解需要我理解Java术语中哪些特定的“事物”构成了“应用程序”。

最佳答案

简而言之,每个Java虚拟机执行一次Runtime类的一个实例。

作法:Runtime类利用Singleton设计模式来控制JVM运行期间的实例数量。请注意,该类没有公共可用的构造函数,因此获取实例的唯一方法是使用静态Runtime.getRuntime()方法。此方法将始终返回相同的实例。

原因:此类对JVM的运行时进行建模,因此它是将每次JVM执行的实例数限制为一个的准确表示。

07-24 09:47
查看更多